WASI
Possible spelling mistake found.
WebAssembly evolved outside web browsers. Some works demonstrated that using WebAssembly as an intermediate layer is better in terms of startup and memory usage than containerization and virtualization [23, 39]. Consequently, in 2019, the Bytecode Alliance [34] proposed WebAssembly System Interface (WAST) [15]. WASI pionered the execution of WebAssembly with a POSIX system interface protocol, making possible to execute Wasm directly in the operating system. Therefore, it standardizes the adoption of WebAssembly in heterogeneous platforms [29], making it suitable for edge-cloud computing platforms [6, 19]
WASI
Possible spelling mistake found.
WebAssembly evolved outside web browsers. Some works demonstrated that using WebAssembly as an intermediate layer is better in terms of startup and memory usage than containerization and virtualization [23, 39]. Consequently, in 2019, the Bytecode Alliance [34] proposed WebAssembly System Interface (WAST) [15]. WASI pionered the execution of WebAssembly with a POSIX system interface protocol, making possible to execute Wasm directly in the operating system. Therefore, it standardizes the adoption of WebAssembly in heterogeneous platforms [29], making it suitable for edge-cloud computing platforms [6, 19]
WASI
Possible spelling mistake found.
WebAssembly evolved outside web browsers. Some works demonstrated that using WebAssembly as an intermediate layer is better in terms of startup and memory usage than containerization and virtualization [23, 39]. Consequently, in 2019, the Bytecode Alliance [34] proposed WebAssembly System Interface (WAST) [15]. WASI pionered the execution of WebAssembly with a POSIX system interface protocol, making possible to execute Wasm directly in the operating system. Therefore, it standardizes the adoption of WebAssembly in heterogeneous platforms [29], making it suitable for edge-cloud computing platforms [6, 19]
WASI
Possible spelling mistake found.
WebAssembly evolved outside web browsers. Some works demonstrated that using WebAssembly as an intermediate layer is better in terms of startup and memory usage than containerization and virtualization [23, 39]. Consequently, in 2019, the Bytecode Alliance [34] proposed WebAssembly System Interface (WAST) [15]. WASI pionered the execution of WebAssembly with a POSIX system interface protocol, making possible to execute Wasm directly in the operating system. Therefore, it standardizes the adoption of WebAssembly in heterogeneous platforms [29], making it suitable for edge-cloud computing platforms [6, 19]
WASI
Possible spelling mistake found.
WebAssembly evolved outside web browsers. Some works demonstrated that using WebAssembly as an intermediate layer is better in terms of startup and memory usage than containerization and virtualization [23, 39]. Consequently, in 2019, the Bytecode Alliance [34] proposed WebAssembly System Interface (WAST) [15]. WASI pionered the execution of WebAssembly with a POSIX system interface protocol, making possible to execute Wasm directly in the operating system. Therefore, it standardizes the adoption of WebAssembly in heterogeneous platforms [29], making it suitable for edge-cloud computing platforms [6, 19]
CDN-dependant
Possible spelling mistake found.
The software monoculture problem escalates if we consider the edge-cloud computing platforms and how they are adopting Wasm to provide services, as we previously mentioned. Concretely, along with browser clients, thousands of edge devices running Wasm as backend services might be affected due to vulnerabilities sharing. This means that if one node in an edge network is vulnerable, all the others are vulnerable in the exact same manner as the same binary is replicated on each node. In other words, the same attacker payload would break all edge nodes at once. This illustrates how Wasm execution is fragile with respect to systemic vulnerabilities for the whole internet. Let us take the example of what happened on June 8, 2021, with Fastly [17]. That day, the whole internet suffered a 45 minutes disruption because of a failure when one Wasm binary was deployed at Fastly. The complete Fastly platform crashed. The bug, combined with most web pages being CDN-dependant, created a catastrophe. Therefore, a single distributed Wasm binary could unleash the same incident [16].
CDN-dependant
Possible spelling mistake found.
The software monoculture problem escalates if we consider the edge-cloud computing platforms and how they are adopting Wasm to provide services, as we previously mentioned. Concretely, along with browser clients, thousands of edge devices running Wasm as backend services might be affected due to vulnerabilities sharing. This means that if one node in an edge network is vulnerable, all the others are vulnerable in the exact same manner as the same binary is replicated on each node. In other words, the same attacker payload would break all edge nodes at once. This illustrates how Wasm execution is fragile with respect to systemic vulnerabilities for the whole internet. Let us take the example of what happened on June 8, 2021, with Fastly [17]. That day, the whole internet suffered a 45 minutes disruption because of a failure when one Wasm binary was deployed at Fastly. The complete Fastly platform crashed. The bug, combined with most web pages being CDN-dependant, created a catastrophe. Therefore, a single distributed Wasm binary could unleash the same incident [16].
CDN-dependant
Possible spelling mistake found.
The software monoculture problem escalates if we consider the edge-cloud computing platforms and how they are adopting Wasm to provide services, as we previously mentioned. Concretely, along with browser clients, thousands of edge devices running Wasm as backend services might be affected due to vulnerabilities sharing. This means that if one node in an edge network is vulnerable, all the others are vulnerable in the exact same manner as the same binary is replicated on each node. In other words, the same attacker payload would break all edge nodes at once. This illustrates how Wasm execution is fragile with respect to systemic vulnerabilities for the whole internet. Let us take the example of what happened on June 8, 2021, with Fastly [17]. That day, the whole internet suffered a 45 minutes disruption because of a failure when one Wasm binary was deployed at Fastly. The complete Fastly platform crashed. The bug, combined with most web pages being CDN-dependant, created a catastrophe. Therefore, a single distributed Wasm binary could unleash the same incident [16].
CDN-dependant
Possible spelling mistake found.
The software monoculture problem escalates if we consider the edge-cloud computing platforms and how they are adopting Wasm to provide services, as we previously mentioned. Concretely, along with browser clients, thousands of edge devices running Wasm as backend services might be affected due to vulnerabilities sharing. This means that if one node in an edge network is vulnerable, all the others are vulnerable in the exact same manner as the same binary is replicated on each node. In other words, the same attacker payload would break all edge nodes at once. This illustrates how Wasm execution is fragile with respect to systemic vulnerabilities for the whole internet. Let us take the example of what happened on June 8, 2021, with Fastly [17]. That day, the whole internet suffered a 45 minutes disruption because of a failure when one Wasm binary was deployed at Fastly. The complete Fastly platform crashed. The bug, combined with most web pages being CDN-dependant, created a catastrophe. Therefore, a single distributed Wasm binary could unleash the same incident [16].
,.
Did you just mean “,” or “.”?
RQ2 To what extent are the generated variants dynamically different? With this research question, we complement RQ,. We aim to investigate the impact on execution traces and execution times of the generated program variants.
,.
Did you just mean “,” or “.”?
RQ2 To what extent are the generated variants dynamically different? With this research question, we complement RQ,. We aim to investigate the impact on execution traces and execution times of the generated program variants.
,.
Did you just mean “,” or “.”?
RQ2 To what extent are the generated variants dynamically different? With this research question, we complement RQ,. We aim to investigate the impact on execution traces and execution times of the generated program variants.
,.
Did you just mean “,” or “.”?
RQ2 To what extent are the generated variants dynamically different? With this research question, we complement RQ,. We aim to investigate the impact on execution traces and execution times of the generated program variants.
,.
Did you just mean “,” or “.”?
RQ2 To what extent are the generated variants dynamically different? With this research question, we complement RQ,. We aim to investigate the impact on execution traces and execution times of the generated program variants.
,.
Did you just mean “,” or “.”?
RQ2 To what extent are the generated variants dynamically different? With this research question, we complement RQ,. We aim to investigate the impact on execution traces and execution times of the generated program variants.
MEWE merges
Possible spelling mistake found.
This thesis proposes four main contributions. First, as a theoretical contribution, we summarize the code transformations used to generate artificial software diversification through an exhaustive literature review. Consequently, we highlight the lack of diversification techniques for WebAssembly. Second, as a technical contribution, we provide two tools, CROW [14] and MEWE [13]. CROW creates Wasm program variants by using state-of-the-art code transformations. MEWE merges several Wasm program variants in a multivariant execution schema [60]. In addition, we summarize the main challenges faced during their implementation, such as i) program properties that make it prone to generate more variants and ii) program properties that make the observable behavior of variants different. Besides, we discuss the incorporation of a new code transformation. Third, we propose a methodology to quantitatively evaluate the impact of our tools, assessing the creation of artificial software diversification for WebAssembly. Fourth and final, we empirically demonstrate the impact of our technique by evaluating the static and dynamic behavior of the generated diversity. Our results show that creating software diversification for Wasm is feasible. Our diversification approaches affect the observable behavior such as static program properties, execution traces and execution times.
MEWE merges
Possible spelling mistake found.
This thesis proposes four main contributions. First, as a theoretical contribution, we summarize the code transformations used to generate artificial software diversification through an exhaustive literature review. Consequently, we highlight the lack of diversification techniques for WebAssembly. Second, as a technical contribution, we provide two tools, CROW [14] and MEWE [13]. CROW creates Wasm program variants by using state-of-the-art code transformations. MEWE merges several Wasm program variants in a multivariant execution schema [60]. In addition, we summarize the main challenges faced during their implementation, such as i) program properties that make it prone to generate more variants and ii) program properties that make the observable behavior of variants different. Besides, we discuss the incorporation of a new code transformation. Third, we propose a methodology to quantitatively evaluate the impact of our tools, assessing the creation of artificial software diversification for WebAssembly. Fourth and final, we empirically demonstrate the impact of our technique by evaluating the static and dynamic behavior of the generated diversity. Our results show that creating software diversification for Wasm is feasible. Our diversification approaches affect the observable behavior such as static program properties, execution traces and execution times.
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
P, Scalable Comparison of JavaScript V8 Bytecode Traces [33] Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
Cabrera-Arteaga
Possible spelling mistake found.
P3; Multi-Variant Execution at the Edge [13] Javier Cabrera-Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Under review
Cabrera-Arteaga
Possible spelling mistake found.
P, CROW: Code Diversification for WebAssembly [14] Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Cabrera-Arteaga
Possible spelling mistake found.
P, Superoptimization of WebAssembly Bytecode [28] Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Silverlight
Possible spelling mistake found.
JavaScript is currently used in all modern web browsers to allow client-side scripting. However, due to the complexity of this language, its security flaws and to gain in performance, several alternatives appeared through the years. For example, Java applets were introduced on web pages late in the 90s to execute Java bytecode in the client side [46]. Similarly, Microsoft made two attempts with ActiveX in 1996 [92], and with Silverlight in 2007 [77]. All these attempts failed to persist or had low adoption, mainly due to security issues and the lack of consensus on the community of browser vendors.
Silverlight
Possible spelling mistake found.
JavaScript is currently used in all modern web browsers to allow client-side scripting. However, due to the complexity of this language, its security flaws and to gain in performance, several alternatives appeared through the years. For example, Java applets were introduced on web pages late in the 90s to execute Java bytecode in the client side [46]. Similarly, Microsoft made two attempts with ActiveX in 1996 [92], and with Silverlight in 2007 [77]. All these attempts failed to persist or had low adoption, mainly due to security issues and the lack of consensus on the community of browser vendors.
Silverlight
Possible spelling mistake found.
JavaScript is currently used in all modern web browsers to allow client-side scripting. However, due to the complexity of this language, its security flaws and to gain in performance, several alternatives appeared through the years. For example, Java applets were introduced on web pages late in the 90s to execute Java bytecode in the client side [46]. Similarly, Microsoft made two attempts with ActiveX in 1996 [92], and with Silverlight in 2007 [77]. All these attempts failed to persist or had low adoption, mainly due to security issues and the lack of consensus on the community of browser vendors.
self- contained
This word is normally spelled with a hyphen.
Following the asm.js initiative, the W3C publicly announced the Wasm (Wasm) language in 2017. Wasm is a binary instruction format for a stack-based virtual machine and was officially consolidated by the work of Haas et al. [47] in 2017. The announcement of Wasm marked the first step into the standardization of bytecode in the web environment. Wasm is designed to be fast, portable, self- contained and secure, and it outperforms asm.js [47]. Since 2017, the adoption of Wasm keeps growing. For example; Adobe, announced a full online version of Photoshop! written in WebAssembly; game companies moved their development from JavaScript to Wasm like is the case of a full Minecraft version”; and the case of Blazor?, a .Net virtual machine implemented in Wasm, able to execute C# code in the browser.
Alon
Possible spelling mistake found.
In 2014, Alon Zakai and colleagues proposed the Emscripten tool [57]. Emscripten used a strict subset of JavaScript, asm.js, to allow low-level code such as C to be compiled to JavaScript. Asm.js was first announced as an LLVM backend [58]. This approach came with the benefits of having all the ahead-of-time optimizations from LLVM, gaining in performance on browser clients [55] compared to standard JavaScript code. Asm.js was faster than JavaScript because it limited the language features to those that can be optimized in the LLVM pipeline. Besides, it removed the majority of the dynamic characteristics of the language, limiting it to numerical types, top-level functions, and one large array in the memory directly accessed as raw data. Since asm.js was a subset of JavaScript it was compatible with all engines at that moment. Asm.js demonstrated that client-code could be improved with the right language design and standardization. The work of Van Es et al. [48] proposed to shrink JavaScript to asm.js in a source-to-source strategy, closing the cycle and extending the fact that asm.js was mainly a compilation target for C/C++ code. Nevertheless, JavaScript faces several limitations related to the characteristics of the language. For example, any JavaScript engine requires the parsing and recompiling the JavaScript code which implies a significant overhead.
Alon
Possible spelling mistake found.
In 2014, Alon Zakai and colleagues proposed the Emscripten tool [57]. Emscripten used a strict subset of JavaScript, asm.js, to allow low-level code such as C to be compiled to JavaScript. Asm.js was first announced as an LLVM backend [58]. This approach came with the benefits of having all the ahead-of-time optimizations from LLVM, gaining in performance on browser clients [55] compared to standard JavaScript code. Asm.js was faster than JavaScript because it limited the language features to those that can be optimized in the LLVM pipeline. Besides, it removed the majority of the dynamic characteristics of the language, limiting it to numerical types, top-level functions, and one large array in the memory directly accessed as raw data. Since asm.js was a subset of JavaScript it was compatible with all engines at that moment. Asm.js demonstrated that client-code could be improved with the right language design and standardization. The work of Van Es et al. [48] proposed to shrink JavaScript to asm.js in a source-to-source strategy, closing the cycle and extending the fact that asm.js was mainly a compilation target for C/C++ code. Nevertheless, JavaScript faces several limitations related to the characteristics of the language. For example, any JavaScript engine requires the parsing and recompiling the JavaScript code which implies a significant overhead.
self- contained
This word is normally spelled with a hyphen.
Following the asm.js initiative, the W3C publicly announced the Wasm (Wasm) language in 2017. Wasm is a binary instruction format for a stack-based virtual machine and was officially consolidated by the work of Haas et al. [47] in 2017. The announcement of Wasm marked the first step into the standardization of bytecode in the web environment. Wasm is designed to be fast, portable, self- contained and secure, and it outperforms asm.js [47]. Since 2017, the adoption of Wasm keeps growing. For example; Adobe, announced a full online version of Photoshop! written in WebAssembly; game companies moved their development from JavaScript to Wasm like is the case of a full Minecraft version”; and the case of Blazor?, a .Net virtual machine implemented in Wasm, able to execute C# code in the browser.
self- contained
This word is normally spelled with a hyphen.
Following the asm.js initiative, the W3C publicly announced the Wasm (Wasm) language in 2017. Wasm is a binary instruction format for a stack-based virtual machine and was officially consolidated by the work of Haas et al. [47] in 2017. The announcement of Wasm marked the first step into the standardization of bytecode in the web environment. Wasm is designed to be fast, portable, self- contained and secure, and it outperforms asm.js [47]. Since 2017, the adoption of Wasm keeps growing. For example; Adobe, announced a full online version of Photoshop! written in WebAssembly; game companies moved their development from JavaScript to Wasm like is the case of a full Minecraft version”; and the case of Blazor?, a .Net virtual machine implemented in Wasm, able to execute C# code in the browser.
Alon
Possible spelling mistake found.
In 2014, Alon Zakai and colleagues proposed the Emscripten tool [57]. Emscripten used a strict subset of JavaScript, asm.js, to allow low-level code such as C to be compiled to JavaScript. Asm.js was first announced as an LLVM backend [58]. This approach came with the benefits of having all the ahead-of-time optimizations from LLVM, gaining in performance on browser clients [55] compared to standard JavaScript code. Asm.js was faster than JavaScript because it limited the language features to those that can be optimized in the LLVM pipeline. Besides, it removed the majority of the dynamic characteristics of the language, limiting it to numerical types, top-level functions, and one large array in the memory directly accessed as raw data. Since asm.js was a subset of JavaScript it was compatible with all engines at that moment. Asm.js demonstrated that client-code could be improved with the right language design and standardization. The work of Van Es et al. [48] proposed to shrink JavaScript to asm.js in a source-to-source strategy, closing the cycle and extending the fact that asm.js was mainly a compilation target for C/C++ code. Nevertheless, JavaScript faces several limitations related to the characteristics of the language. For example, any JavaScript engine requires the parsing and recompiling the JavaScript code which implies a significant overhead.
Emscripten
Possible spelling mistake found.
The step (2) builds the standard library for Wasm usually as JavaScript code. This code includes the external functions that the Wasm binary needs for its execution inside the host engine. For example, the functions to interact with the DOM of the HTML page are imported in the Wasm binary during its call from the JavaScript code. The standard library can be manually written, however, compilers like Emscripten, Rust and Binaryen can generate it automatically, making this process completely transparent to developers.
AssemblyScript
Possible spelling mistake found.
All Wasm programs are compiled ahead-of-time from source languages. LLVM includes Wasm as a backend since release 7.1.0 published in May 2019+, supporting a broad range of frontend languages such as C/C++, Rust, Go or AssemblyScript?. The resulting binary works similarly to a traditional shared library, it includes instruction codes, symbols and exported functions. In Figure 2.1, we illustrate the workflow from the creation of Wasm binaries to their execution in the browser. The process starts by compiling the source code program to Wasm (Step (1). This step includes ahead-of-time optimizations such as optimizations in the LLVM toolchain.
nttps
This sentence does not start with an uppercase letter.
“nttps://github.com/11vm/11lvm-project/releases/tag/1lvmorg-7.1.0 °subset of the TypeScript language
Emscripten
Possible spelling mistake found.
The step (2) builds the standard library for Wasm usually as JavaScript code. This code includes the external functions that the Wasm binary needs for its execution inside the host engine. For example, the functions to interact with the DOM of the HTML page are imported in the Wasm binary during its call from the JavaScript code. The standard library can be manually written, however, compilers like Emscripten, Rust and Binaryen can generate it automatically, making this process completely transparent to developers.
AssemblyScript
Possible spelling mistake found.
All Wasm programs are compiled ahead-of-time from source languages. LLVM includes Wasm as a backend since release 7.1.0 published in May 2019+, supporting a broad range of frontend languages such as C/C++, Rust, Go or AssemblyScript?. The resulting binary works similarly to a traditional shared library, it includes instruction codes, symbols and exported functions. In Figure 2.1, we illustrate the workflow from the creation of Wasm binaries to their execution in the browser. The process starts by compiling the source code program to Wasm (Step (1). This step includes ahead-of-time optimizations such as optimizations in the LLVM toolchain.
nttps
This sentence does not start with an uppercase letter.
“nttps://github.com/11vm/11lvm-project/releases/tag/1lvmorg-7.1.0 °subset of the TypeScript language
AssemblyScript
Possible spelling mistake found.
All Wasm programs are compiled ahead-of-time from source languages. LLVM includes Wasm as a backend since release 7.1.0 published in May 2019+, supporting a broad range of frontend languages such as C/C++, Rust, Go or AssemblyScript?. The resulting binary works similarly to a traditional shared library, it includes instruction codes, symbols and exported functions. In Figure 2.1, we illustrate the workflow from the creation of Wasm binaries to their execution in the browser. The process starts by compiling the source code program to Wasm (Step (1). This step includes ahead-of-time optimizations such as optimizations in the LLVM toolchain.
nttps
This sentence does not start with an uppercase letter.
“nttps://github.com/11vm/11lvm-project/releases/tag/1lvmorg-7.1.0 °subset of the TypeScript language
Emscripten
Possible spelling mistake found.
The step (2) builds the standard library for Wasm usually as JavaScript code. This code includes the external functions that the Wasm binary needs for its execution inside the host engine. For example, the functions to interact with the DOM of the HTML page are imported in the Wasm binary during its call from the JavaScript code. The standard library can be manually written, however, compilers like Emscripten, Rust and Binaryen can generate it automatically, making this process completely transparent to developers.
nttps
This sentence does not start with an uppercase letter.
“nttps://github.com/11vm/11lvm-project/releases/tag/1lvmorg-7.1.0 °subset of the TypeScript language
Emscripten
Possible spelling mistake found.
The step (2) builds the standard library for Wasm usually as JavaScript code. This code includes the external functions that the Wasm binary needs for its execution inside the host engine. For example, the functions to interact with the DOM of the HTML page are imported in the Wasm binary during its call from the JavaScript code. The standard library can be manually written, however, compilers like Emscripten, Rust and Binaryen can generate it automatically, making this process completely transparent to developers.
AssemblyScript
Possible spelling mistake found.
All Wasm programs are compiled ahead-of-time from source languages. LLVM includes Wasm as a backend since release 7.1.0 published in May 2019+, supporting a broad range of frontend languages such as C/C++, Rust, Go or AssemblyScript?. The resulting binary works similarly to a traditional shared library, it includes instruction codes, symbols and exported functions. In Figure 2.1, we illustrate the workflow from the creation of Wasm binaries to their execution in the browser. The process starts by compiling the source code program to Wasm (Step (1). This step includes ahead-of-time optimizations such as optimizations in the LLVM toolchain.
nttps
This sentence does not start with an uppercase letter.
“nttps://github.com/11vm/11lvm-project/releases/tag/1lvmorg-7.1.0 °subset of the TypeScript language
Emscripten
Possible spelling mistake found.
The step (2) builds the standard library for Wasm usually as JavaScript code. This code includes the external functions that the Wasm binary needs for its execution inside the host engine. For example, the functions to interact with the DOM of the HTML page are imported in the Wasm binary during its call from the JavaScript code. The standard library can be manually written, however, compilers like Emscripten, Rust and Binaryen can generate it automatically, making this process completely transparent to developers.
AssemblyScript
Possible spelling mistake found.
All Wasm programs are compiled ahead-of-time from source languages. LLVM includes Wasm as a backend since release 7.1.0 published in May 2019+, supporting a broad range of frontend languages such as C/C++, Rust, Go or AssemblyScript?. The resulting binary works similarly to a traditional shared library, it includes instruction codes, symbols and exported functions. In Figure 2.1, we illustrate the workflow from the creation of Wasm binaries to their execution in the browser. The process starts by compiling the source code program to Wasm (Step (1). This step includes ahead-of-time optimizations such as optimizations in the LLVM toolchain.
arduino
Possible spelling mistake found.
Wasm can execute directly and is platform independent. Thus, the Internet of Things (IoT) can be seen as the perfect match for Wasm [7, 26] outside web browsers. IoT devices are heterogeneous in terms of architecture and platform as the same for Edge computing. For example, Singh and colleagues [31] proposed a virtual machine for Wasm in arduino based devices. On the other hand, Cloudflare and Fastly adapted their platforms to provide edge computing services directly with Wasm. In these cases, the standard library, instead of JavaScript, is provided by any other language stack that the host environment supports.
}
Unpaired symbol: ‘{’ seems to be missing
(} 1 @) Wasm Compiler I wasm I Exports binary Imports JavaScript Standard library Browser engine 1 to 1 translation to machine code Compi lation+JI Machine code Machine code
WASI
Possible spelling mistake found.
In 2019, the Bytecode Alliance [34] proposed the WebAssembly System Interface (WASI) [15]. WAST is the foundation to build Wasm code outside the browser with a POSIX system interface platform. WASI standardizes the adoption of Wasm in heterogeneous platforms [29].
}
Unpaired symbol: ‘{’ seems to be missing
(} 1 @) Wasm Compiler I wasm I Exports binary Imports JavaScript Standard library Browser engine 1 to 1 translation to machine code Compi lation+JI Machine code Machine code
WASI
Possible spelling mistake found.
In 2019, the Bytecode Alliance [34] proposed the WebAssembly System Interface (WASI) [15]. WAST is the foundation to build Wasm code outside the browser with a POSIX system interface platform. WASI standardizes the adoption of Wasm in heterogeneous platforms [29].
arduino
Possible spelling mistake found.
Wasm can execute directly and is platform independent. Thus, the Internet of Things (IoT) can be seen as the perfect match for Wasm [7, 26] outside web browsers. IoT devices are heterogeneous in terms of architecture and platform as the same for Edge computing. For example, Singh and colleagues [31] proposed a virtual machine for Wasm in arduino based devices. On the other hand, Cloudflare and Fastly adapted their platforms to provide edge computing services directly with Wasm. In these cases, the standard library, instead of JavaScript, is provided by any other language stack that the host environment supports.
}
Unpaired symbol: ‘{’ seems to be missing
(} 1 @) Wasm Compiler I wasm I Exports binary Imports JavaScript Standard library Browser engine 1 to 1 translation to machine code Compi lation+JI Machine code Machine code
WASI
Possible spelling mistake found.
In 2019, the Bytecode Alliance [34] proposed the WebAssembly System Interface (WASI) [15]. WAST is the foundation to build Wasm code outside the browser with a POSIX system interface platform. WASI standardizes the adoption of Wasm in heterogeneous platforms [29].
arduino
Possible spelling mistake found.
Wasm can execute directly and is platform independent. Thus, the Internet of Things (IoT) can be seen as the perfect match for Wasm [7, 26] outside web browsers. IoT devices are heterogeneous in terms of architecture and platform as the same for Edge computing. For example, Singh and colleagues [31] proposed a virtual machine for Wasm in arduino based devices. On the other hand, Cloudflare and Fastly adapted their platforms to provide edge computing services directly with Wasm. In these cases, the standard library, instead of JavaScript, is provided by any other language stack that the host environment supports.
}
Unpaired symbol: ‘{’ seems to be missing
(} 1 @) Wasm Compiler I wasm I Exports binary Imports JavaScript Standard library Browser engine 1 to 1 translation to machine code Compi lation+JI Machine code Machine code
WASI
Possible spelling mistake found.
In 2019, the Bytecode Alliance [34] proposed the WebAssembly System Interface (WASI) [15]. WAST is the foundation to build Wasm code outside the browser with a POSIX system interface platform. WASI standardizes the adoption of Wasm in heterogeneous platforms [29].
arduino
Possible spelling mistake found.
Wasm can execute directly and is platform independent. Thus, the Internet of Things (IoT) can be seen as the perfect match for Wasm [7, 26] outside web browsers. IoT devices are heterogeneous in terms of architecture and platform as the same for Edge computing. For example, Singh and colleagues [31] proposed a virtual machine for Wasm in arduino based devices. On the other hand, Cloudflare and Fastly adapted their platforms to provide edge computing services directly with Wasm. In these cases, the standard library, instead of JavaScript, is provided by any other language stack that the host environment supports.
}
Unpaired symbol: ‘{’ seems to be missing
(} 1 @) Wasm Compiler I wasm I Exports binary Imports JavaScript Standard library Browser engine 1 to 1 translation to machine code Compi lation+JI Machine code Machine code
WASI
Possible spelling mistake found.
In 2019, the Bytecode Alliance [34] proposed the WebAssembly System Interface (WASI) [15]. WAST is the foundation to build Wasm code outside the browser with a POSIX system interface platform. WASI standardizes the adoption of Wasm in heterogeneous platforms [29].
arduino
Possible spelling mistake found.
Wasm can execute directly and is platform independent. Thus, the Internet of Things (IoT) can be seen as the perfect match for Wasm [7, 26] outside web browsers. IoT devices are heterogeneous in terms of architecture and platform as the same for Edge computing. For example, Singh and colleagues [31] proposed a virtual machine for Wasm in arduino based devices. On the other hand, Cloudflare and Fastly adapted their platforms to provide edge computing services directly with Wasm. In these cases, the standard library, instead of JavaScript, is provided by any other language stack that the host environment supports.
WASI
Possible spelling mistake found.
In 2019, the Bytecode Alliance [34] proposed the WebAssembly System Interface (WASI) [15]. WAST is the foundation to build Wasm code outside the browser with a POSIX system interface platform. WASI standardizes the adoption of Wasm in heterogeneous platforms [29].
arduino
Possible spelling mistake found.
Wasm can execute directly and is platform independent. Thus, the Internet of Things (IoT) can be seen as the perfect match for Wasm [7, 26] outside web browsers. IoT devices are heterogeneous in terms of architecture and platform as the same for Edge computing. For example, Singh and colleagues [31] proposed a virtual machine for Wasm in arduino based devices. On the other hand, Cloudflare and Fastly adapted their platforms to provide edge computing services directly with Wasm. In these cases, the standard library, instead of JavaScript, is provided by any other language stack that the host environment supports.
}
Unpaired symbol: ‘{’ seems to be missing
(} 1 @) Wasm Compiler I wasm I Exports binary Imports JavaScript Standard library Browser engine 1 to 1 translation to machine code Compi lation+JI Machine code Machine code
globals
Possible spelling mistake found.
In Listing 2.1 and Listing 2.2 we illustrate a C program and the Wasm program that results from its compilation. The C function contains: heap allocation, external function declaration and the definition of a function with a loop, conditional branching, function calls and memory accesses. The code in Listing 2.2 shows the textual format for the generated Wasm. The module in this case first defines the signature of the functions (Line 2, Line 3 and Line 4) that help in the validation of the binary defining its parameter and result types. The information exchange between the host and the Wasm binary might be in two ways, exporting and importing functions, memory and globals to and from the host engine (Line 5, Line 35 and Line 36). The definition of the function (Line 6) and its body follows the last import declaration at Line 5.
Shttps
Possible spelling mistake found.
Shttps: //webassembly. github.io/spec/core/binary/modules .html#sections
globals
Possible spelling mistake found.
In Listing 2.1 and Listing 2.2 we illustrate a C program and the Wasm program that results from its compilation. The C function contains: heap allocation, external function declaration and the definition of a function with a loop, conditional branching, function calls and memory accesses. The code in Listing 2.2 shows the textual format for the generated Wasm. The module in this case first defines the signature of the functions (Line 2, Line 3 and Line 4) that help in the validation of the binary defining its parameter and result types. The information exchange between the host and the Wasm binary might be in two ways, exporting and importing functions, memory and globals to and from the host engine (Line 5, Line 35 and Line 36). The definition of the function (Line 6) and its body follows the last import declaration at Line 5.
Shttps
Possible spelling mistake found.
Shttps: //webassembly. github.io/spec/core/binary/modules .html#sections
globals
Possible spelling mistake found.
In Listing 2.1 and Listing 2.2 we illustrate a C program and the Wasm program that results from its compilation. The C function contains: heap allocation, external function declaration and the definition of a function with a loop, conditional branching, function calls and memory accesses. The code in Listing 2.2 shows the textual format for the generated Wasm. The module in this case first defines the signature of the functions (Line 2, Line 3 and Line 4) that help in the validation of the binary defining its parameter and result types. The information exchange between the host and the Wasm binary might be in two ways, exporting and importing functions, memory and globals to and from the host engine (Line 5, Line 35 and Line 36). The definition of the function (Line 6) and its body follows the last import declaration at Line 5.
Shttps
Possible spelling mistake found.
Shttps: //webassembly. github.io/spec/core/binary/modules .html#sections
Shttps
Possible spelling mistake found.
Shttps: //webassembly. github.io/spec/core/binary/modules .html#sections
globals
Possible spelling mistake found.
In Listing 2.1 and Listing 2.2 we illustrate a C program and the Wasm program that results from its compilation. The C function contains: heap allocation, external function declaration and the definition of a function with a loop, conditional branching, function calls and memory accesses. The code in Listing 2.2 shows the textual format for the generated Wasm. The module in this case first defines the signature of the functions (Line 2, Line 3 and Line 4) that help in the validation of the binary defining its parameter and result types. The information exchange between the host and the Wasm binary might be in two ways, exporting and importing functions, memory and globals to and from the host engine (Line 5, Line 35 and Line 36). The definition of the function (Line 6) and its body follows the last import declaration at Line 5.
Shttps
Possible spelling mistake found.
Shttps: //webassembly. github.io/spec/core/binary/modules .html#sections
globals
Possible spelling mistake found.
In Listing 2.1 and Listing 2.2 we illustrate a C program and the Wasm program that results from its compilation. The C function contains: heap allocation, external function declaration and the definition of a function with a loop, conditional branching, function calls and memory accesses. The code in Listing 2.2 shows the textual format for the generated Wasm. The module in this case first defines the signature of the functions (Line 2, Line 3 and Line 4) that help in the validation of the binary defining its parameter and result types. The information exchange between the host and the Wasm binary might be in two ways, exporting and importing functions, memory and globals to and from the host engine (Line 5, Line 35 and Line 36). The definition of the function (Line 6) and its body follows the last import declaration at Line 5.
Shttps
Possible spelling mistake found.
Shttps: //webassembly. github.io/spec/core/binary/modules .html#sections
globals
Possible spelling mistake found.
In Listing 2.1 and Listing 2.2 we illustrate a C program and the Wasm program that results from its compilation. The C function contains: heap allocation, external function declaration and the definition of a function with a loop, conditional branching, function calls and memory accesses. The code in Listing 2.2 shows the textual format for the generated Wasm. The module in this case first defines the signature of the functions (Line 2, Line 3 and Line 4) that help in the validation of the binary defining its parameter and result types. The information exchange between the host and the Wasm binary might be in two ways, exporting and importing functions, memory and globals to and from the host engine (Line 5, Line 35 and Line 36). The definition of the function (Line 6) and its body follows the last import declaration at Line 5.
return
This sentence does not start with an uppercase letter.
return A[0];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
const int
Possible spelling mistake found.
// Some raw data const int A[250];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
const int
Possible spelling mistake found.
// Some raw data const int A[250];
return
This sentence does not start with an uppercase letter.
return A[0];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
const int
Possible spelling mistake found.
// Some raw data const int A[250];
return
This sentence does not start with an uppercase letter.
return A[0];
const int
Possible spelling mistake found.
// Some raw data const int A[250];
return
This sentence does not start with an uppercase letter.
return A[0];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
const int
Possible spelling mistake found.
// Some raw data const int A[250];
return
This sentence does not start with an uppercase letter.
return A[0];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
return
This sentence does not start with an uppercase letter.
return A[0];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
const int
Possible spelling mistake found.
// Some raw data const int A[250];
return
This sentence does not start with an uppercase letter.
return A[0];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
const int
Possible spelling mistake found.
// Some raw data const int A[250];
return
This sentence does not start with an uppercase letter.
return A[0];
ftoi
Possible spelling mistake found.
// Imported function int ftoi(float a);
const int
Possible spelling mistake found.
// Some raw data const int A[250];
return- oriented
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
As we described, Wasm is deterministic and well-typed, follows a structured control flow and explicitly separates its linear memory model, global variables and the execution stack. This design is robust [27] and makes it easy for compilers and engines to sandbox the execution of Wasm binaries. Following the specification of Wasm for typing, memory, virtual stack and function calling, host environments should provide protection against data corruption, code injection, and return- oriented programming (ROP).
return- oriented
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
As we described, Wasm is deterministic and well-typed, follows a structured control flow and explicitly separates its linear memory model, global variables and the execution stack. This design is robust [27] and makes it easy for compilers and engines to sandbox the execution of Wasm binaries. Following the specification of Wasm for typing, memory, virtual stack and function calling, host environments should provide protection against data corruption, code injection, and return- oriented programming (ROP).
return- oriented
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
As we described, Wasm is deterministic and well-typed, follows a structured control flow and explicitly separates its linear memory model, global variables and the execution stack. This design is robust [27] and makes it easy for compilers and engines to sandbox the execution of Wasm binaries. Following the specification of Wasm for typing, memory, virtual stack and function calling, host environments should provide protection against data corruption, code injection, and return- oriented programming (ROP).
return- oriented
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
As we described, Wasm is deterministic and well-typed, follows a structured control flow and explicitly separates its linear memory model, global variables and the execution stack. This design is robust [27] and makes it easy for compilers and engines to sandbox the execution of Wasm binaries. Following the specification of Wasm for typing, memory, virtual stack and function calling, host environments should provide protection against data corruption, code injection, and return- oriented programming (ROP).
]
Unpaired symbol: ‘[’ seems to be missing
There are two primary sources of software diversification: Natural Diversity and Artificial Diversity|54]. This work contributes to the state of the art of Artificial Diversity, which consists of software synthesis. This thesis is founded on the work of Cohen in 1993 [93] as follows.
Genkin
Possible spelling mistake found.
However, implementations in both browsers and standalone runtimes [7] are vulnerable. Genkin et al. demonstrated that Wasm could be used to exfiltrate data using cache timing-side channels [41]. Moreover, binaries itself can be vulnerable. The work of Lehmann et al. [24] proved that C/C++ source code vulnerabilities can propagate to Wasm such as overwriting constant data or manipulating the heap by overflowing the stack. Even though these vulnerabilities need a specific standard library implementation to be exploited, they make a call for better defenses for Wasm. Recently, Stiévenart and colleagues demonstrate that C/C++ source code vulnerabilities can be ported to Wasm [1]. Several proposals for extending Wasm in the current roadmap could address some existing vulnerabilities. For example, having multiple memories’ could incorporate more than one memory, stack and global spaces, shrinking the attack surface. However, the implementation, adoption and settlement of the proposals are far from being a reality in all browser vendors’.
“
Unpaired symbol: ‘”’ seems to be missing
“https://github. com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Ove rview.md Shttps://webassembly. org/roadmap/
Genkin
Possible spelling mistake found.
However, implementations in both browsers and standalone runtimes [7] are vulnerable. Genkin et al. demonstrated that Wasm could be used to exfiltrate data using cache timing-side channels [41]. Moreover, binaries itself can be vulnerable. The work of Lehmann et al. [24] proved that C/C++ source code vulnerabilities can propagate to Wasm such as overwriting constant data or manipulating the heap by overflowing the stack. Even though these vulnerabilities need a specific standard library implementation to be exploited, they make a call for better defenses for Wasm. Recently, Stiévenart and colleagues demonstrate that C/C++ source code vulnerabilities can be ported to Wasm [1]. Several proposals for extending Wasm in the current roadmap could address some existing vulnerabilities. For example, having multiple memories’ could incorporate more than one memory, stack and global spaces, shrinking the attack surface. However, the implementation, adoption and settlement of the proposals are far from being a reality in all browser vendors’.
“
Unpaired symbol: ‘”’ seems to be missing
“https://github. com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Ove rview.md Shttps://webassembly. org/roadmap/
]
Unpaired symbol: ‘[’ seems to be missing
There are two primary sources of software diversification: Natural Diversity and Artificial Diversity|54]. This work contributes to the state of the art of Artificial Diversity, which consists of software synthesis. This thesis is founded on the work of Cohen in 1993 [93] as follows.
Genkin
Possible spelling mistake found.
However, implementations in both browsers and standalone runtimes [7] are vulnerable. Genkin et al. demonstrated that Wasm could be used to exfiltrate data using cache timing-side channels [41]. Moreover, binaries itself can be vulnerable. The work of Lehmann et al. [24] proved that C/C++ source code vulnerabilities can propagate to Wasm such as overwriting constant data or manipulating the heap by overflowing the stack. Even though these vulnerabilities need a specific standard library implementation to be exploited, they make a call for better defenses for Wasm. Recently, Stiévenart and colleagues demonstrate that C/C++ source code vulnerabilities can be ported to Wasm [1]. Several proposals for extending Wasm in the current roadmap could address some existing vulnerabilities. For example, having multiple memories’ could incorporate more than one memory, stack and global spaces, shrinking the attack surface. However, the implementation, adoption and settlement of the proposals are far from being a reality in all browser vendors’.
“
Unpaired symbol: ‘”’ seems to be missing
“https://github. com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Ove rview.md Shttps://webassembly. org/roadmap/
]
Unpaired symbol: ‘[’ seems to be missing
There are two primary sources of software diversification: Natural Diversity and Artificial Diversity|54]. This work contributes to the state of the art of Artificial Diversity, which consists of software synthesis. This thesis is founded on the work of Cohen in 1993 [93] as follows.
Genkin
Possible spelling mistake found.
However, implementations in both browsers and standalone runtimes [7] are vulnerable. Genkin et al. demonstrated that Wasm could be used to exfiltrate data using cache timing-side channels [41]. Moreover, binaries itself can be vulnerable. The work of Lehmann et al. [24] proved that C/C++ source code vulnerabilities can propagate to Wasm such as overwriting constant data or manipulating the heap by overflowing the stack. Even though these vulnerabilities need a specific standard library implementation to be exploited, they make a call for better defenses for Wasm. Recently, Stiévenart and colleagues demonstrate that C/C++ source code vulnerabilities can be ported to Wasm [1]. Several proposals for extending Wasm in the current roadmap could address some existing vulnerabilities. For example, having multiple memories’ could incorporate more than one memory, stack and global spaces, shrinking the attack surface. However, the implementation, adoption and settlement of the proposals are far from being a reality in all browser vendors’.
“
Unpaired symbol: ‘”’ seems to be missing
“https://github. com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Ove rview.md Shttps://webassembly. org/roadmap/
]
Unpaired symbol: ‘[’ seems to be missing
There are two primary sources of software diversification: Natural Diversity and Artificial Diversity|54]. This work contributes to the state of the art of Artificial Diversity, which consists of software synthesis. This thesis is founded on the work of Cohen in 1993 [93] as follows.
“
Unpaired symbol: ‘”’ seems to be missing
“https://github. com/WebAssembly/multi-memory/blob/main/proposals/multi-memory/Ove rview.md Shttps://webassembly. org/roadmap/
]
Unpaired symbol: ‘[’ seems to be missing
There are two primary sources of software diversification: Natural Diversity and Artificial Diversity|54]. This work contributes to the state of the art of Artificial Diversity, which consists of software synthesis. This thesis is founded on the work of Cohen in 1993 [93] as follows.
Genkin
Possible spelling mistake found.
However, implementations in both browsers and standalone runtimes [7] are vulnerable. Genkin et al. demonstrated that Wasm could be used to exfiltrate data using cache timing-side channels [41]. Moreover, binaries itself can be vulnerable. The work of Lehmann et al. [24] proved that C/C++ source code vulnerabilities can propagate to Wasm such as overwriting constant data or manipulating the heap by overflowing the stack. Even though these vulnerabilities need a specific standard library implementation to be exploited, they make a call for better defenses for Wasm. Recently, Stiévenart and colleagues demonstrate that C/C++ source code vulnerabilities can be ported to Wasm [1]. Several proposals for extending Wasm in the current roadmap could address some existing vulnerabilities. For example, having multiple memories’ could incorporate more than one memory, stack and global spaces, shrinking the attack surface. However, the implementation, adoption and settlement of the proposals are far from being a reality in all browser vendors’.
Tadesse
Possible spelling mistake found.
(S4) Program memory and stack randomization This strategy changes the layout of programs in the host memory. Also, it can randomize how a program variant operates its memory. The work of Bhatkar et al. [88, 83] propose to randomize the base addresses of applications and the library memory regions in ELF binaries. Tadesse Aga and Autin [35], and Lee et al. [8] propose a technique to randomize the local stack organization for function calls using a custom LLVM compiler. Younan et al. [79] propose to separate a conventional stack into multiple stacks where each stack contains a particular class of data. On the same topic, Xu et al. [18] transforms programs to reduce memory exposure time, improving the time needed for frequent memory address randomization.
Pettis
Possible spelling mistake found.
(S3) Adding, changing, removing jumps and calls This strategy creates program variants by adding, changing, or removing jumps and calls in the original program. Cohen [93] mainly illustrated the case by inserting bogus jumps in programs. Pettis and Hansen [95] proposed to split basic blocks and functions for the PA-RISC architecture, inserting jumps between splits. Similarly, Crane et al. [53] de-inline basic blocks of code as an LLVM pass. In their approach, each de-inlined code is transformed into semantically equivalent functions that are randomly selected at runtime to replace the original code calculation. On the same topic, Bhatkar et al. [83] extended their previous approach [88], replacing function calls by indirect pointer calls in C source code, allowing post binary reordering of function calls. Recently, Romano et al. [2] proposed an obfuscation technique for JavaScript in which part of the code is replaced by calls to complementary Wasm function.
Couroussé
Possible spelling mistake found.
(S5) ISA randomization and simulation This strategy uses a key to cypher the original program binary into another encoded binary. Once encoded, the program can be decoded only once at the target client, or it can be interpreted in the encoded form using a custom virtual machine implementation. This technique is strong against attacks involving code inspection. Kc et al. [86], and Barrantes et al. [89] proposed seminal works on instruction-set randomization to create a unique mapping between artificial CPU instructions and real ones. On the same topic, Chew and Song [90] target operating system randomization. They randomize the interface between the operating system and the user applications. Couroussé et al. [50] implement an assembly-like DSL to generate equivalent code at runtime in order to increase protection against side-channel attacks. Their technique generates a different program during execution using an interpreter for their DSL. Code obfuscation [2] can be seen as a simplification of [SA randomization. The main difference between encoding and obfuscating code is that the former requires the final target to know the encoding key while the latter executes as is in any client. Yet, both strategies are meant to tackle program analysis from potential attackers.
Pettis
Possible spelling mistake found.
(S3) Adding, changing, removing jumps and calls This strategy creates program variants by adding, changing, or removing jumps and calls in the original program. Cohen [93] mainly illustrated the case by inserting bogus jumps in programs. Pettis and Hansen [95] proposed to split basic blocks and functions for the PA-RISC architecture, inserting jumps between splits. Similarly, Crane et al. [53] de-inline basic blocks of code as an LLVM pass. In their approach, each de-inlined code is transformed into semantically equivalent functions that are randomly selected at runtime to replace the original code calculation. On the same topic, Bhatkar et al. [83] extended their previous approach [88], replacing function calls by indirect pointer calls in C source code, allowing post binary reordering of function calls. Recently, Romano et al. [2] proposed an obfuscation technique for JavaScript in which part of the code is replaced by calls to complementary Wasm function.
Couroussé
Possible spelling mistake found.
(S5) ISA randomization and simulation This strategy uses a key to cypher the original program binary into another encoded binary. Once encoded, the program can be decoded only once at the target client, or it can be interpreted in the encoded form using a custom virtual machine implementation. This technique is strong against attacks involving code inspection. Kc et al. [86], and Barrantes et al. [89] proposed seminal works on instruction-set randomization to create a unique mapping between artificial CPU instructions and real ones. On the same topic, Chew and Song [90] target operating system randomization. They randomize the interface between the operating system and the user applications. Couroussé et al. [50] implement an assembly-like DSL to generate equivalent code at runtime in order to increase protection against side-channel attacks. Their technique generates a different program during execution using an interpreter for their DSL. Code obfuscation [2] can be seen as a simplification of [SA randomization. The main difference between encoding and obfuscating code is that the former requires the final target to know the encoding key while the latter executes as is in any client. Yet, both strategies are meant to tackle program analysis from potential attackers.
Tadesse
Possible spelling mistake found.
(S4) Program memory and stack randomization This strategy changes the layout of programs in the host memory. Also, it can randomize how a program variant operates its memory. The work of Bhatkar et al. [88, 83] propose to randomize the base addresses of applications and the library memory regions in ELF binaries. Tadesse Aga and Autin [35], and Lee et al. [8] propose a technique to randomize the local stack organization for function calls using a custom LLVM compiler. Younan et al. [79] propose to separate a conventional stack into multiple stacks where each stack contains a particular class of data. On the same topic, Xu et al. [18] transforms programs to reduce memory exposure time, improving the time needed for frequent memory address randomization.
Couroussé
Possible spelling mistake found.
(S5) ISA randomization and simulation This strategy uses a key to cypher the original program binary into another encoded binary. Once encoded, the program can be decoded only once at the target client, or it can be interpreted in the encoded form using a custom virtual machine implementation. This technique is strong against attacks involving code inspection. Kc et al. [86], and Barrantes et al. [89] proposed seminal works on instruction-set randomization to create a unique mapping between artificial CPU instructions and real ones. On the same topic, Chew and Song [90] target operating system randomization. They randomize the interface between the operating system and the user applications. Couroussé et al. [50] implement an assembly-like DSL to generate equivalent code at runtime in order to increase protection against side-channel attacks. Their technique generates a different program during execution using an interpreter for their DSL. Code obfuscation [2] can be seen as a simplification of [SA randomization. The main difference between encoding and obfuscating code is that the former requires the final target to know the encoding key while the latter executes as is in any client. Yet, both strategies are meant to tackle program analysis from potential attackers.
Tadesse
Possible spelling mistake found.
(S4) Program memory and stack randomization This strategy changes the layout of programs in the host memory. Also, it can randomize how a program variant operates its memory. The work of Bhatkar et al. [88, 83] propose to randomize the base addresses of applications and the library memory regions in ELF binaries. Tadesse Aga and Autin [35], and Lee et al. [8] propose a technique to randomize the local stack organization for function calls using a custom LLVM compiler. Younan et al. [79] propose to separate a conventional stack into multiple stacks where each stack contains a particular class of data. On the same topic, Xu et al. [18] transforms programs to reduce memory exposure time, improving the time needed for frequent memory address randomization.
Pettis
Possible spelling mistake found.
(S3) Adding, changing, removing jumps and calls This strategy creates program variants by adding, changing, or removing jumps and calls in the original program. Cohen [93] mainly illustrated the case by inserting bogus jumps in programs. Pettis and Hansen [95] proposed to split basic blocks and functions for the PA-RISC architecture, inserting jumps between splits. Similarly, Crane et al. [53] de-inline basic blocks of code as an LLVM pass. In their approach, each de-inlined code is transformed into semantically equivalent functions that are randomly selected at runtime to replace the original code calculation. On the same topic, Bhatkar et al. [83] extended their previous approach [88], replacing function calls by indirect pointer calls in C source code, allowing post binary reordering of function calls. Recently, Romano et al. [2] proposed an obfuscation technique for JavaScript in which part of the code is replaced by calls to complementary Wasm function.
Aga
Possible spelling mistake found.
El-Khalil and colleagues [84] propose to use a custom compiler to generate different binaries out of the compilation process. El-Khalil and colleagues modify a version of GCC 4.1 to separate a conventional stack into several component parts, called multistacks. On the same topic, Aga and colleagues [35] propose to generate program variants by randomizing its data layout in memory. Their approach makes each variant to operate the same data in memory with different memory offsets. The Polyverse company? materializes randomization at the commercial level in real life. They deliver a unique Linux distribution compilation for each of its clients by scrambling the Linux packages at the source code level.
°nttps
Possible spelling mistake found.
°nttps://polyverse.com/
Aga
Possible spelling mistake found.
El-Khalil and colleagues [84] propose to use a custom compiler to generate different binaries out of the compilation process. El-Khalil and colleagues modify a version of GCC 4.1 to separate a conventional stack into several component parts, called multistacks. On the same topic, Aga and colleagues [35] propose to generate program variants by randomizing its data layout in memory. Their approach makes each variant to operate the same data in memory with different memory offsets. The Polyverse company? materializes randomization at the commercial level in real life. They deliver a unique Linux distribution compilation for each of its clients by scrambling the Linux packages at the source code level.
°nttps
Possible spelling mistake found.
°nttps://polyverse.com/
°nttps
Possible spelling mistake found.
°nttps://polyverse.com/
Aga
Possible spelling mistake found.
El-Khalil and colleagues [84] propose to use a custom compiler to generate different binaries out of the compilation process. El-Khalil and colleagues modify a version of GCC 4.1 to separate a conventional stack into several component parts, called multistacks. On the same topic, Aga and colleagues [35] propose to generate program variants by randomizing its data layout in memory. Their approach makes each variant to operate the same data in memory with different memory offsets. The Polyverse company? materializes randomization at the commercial level in real life. They deliver a unique Linux distribution compilation for each of its clients by scrambling the Linux packages at the source code level.
°nttps
Possible spelling mistake found.
°nttps://polyverse.com/
Aga
Possible spelling mistake found.
El-Khalil and colleagues [84] propose to use a custom compiler to generate different binaries out of the compilation process. El-Khalil and colleagues modify a version of GCC 4.1 to separate a conventional stack into several component parts, called multistacks. On the same topic, Aga and colleagues [35] propose to generate program variants by randomizing its data layout in memory. Their approach makes each variant to operate the same data in memory with different memory offsets. The Polyverse company? materializes randomization at the commercial level in real life. They deliver a unique Linux distribution compilation for each of its clients by scrambling the Linux packages at the source code level.
°nttps
Possible spelling mistake found.
°nttps://polyverse.com/
Aga
Possible spelling mistake found.
El-Khalil and colleagues [84] propose to use a custom compiler to generate different binaries out of the compilation process. El-Khalil and colleagues modify a version of GCC 4.1 to separate a conventional stack into several component parts, called multistacks. On the same topic, Aga and colleagues [35] propose to generate program variants by randomizing its data layout in memory. Their approach makes each variant to operate the same data in memory with different memory offsets. The Polyverse company? materializes randomization at the commercial level in real life. They deliver a unique Linux distribution compilation for each of its clients by scrambling the Linux packages at the source code level.
°nttps
Possible spelling mistake found.
°nttps://polyverse.com/
Aga
Possible spelling mistake found.
El-Khalil and colleagues [84] propose to use a custom compiler to generate different binaries out of the compilation process. El-Khalil and colleagues modify a version of GCC 4.1 to separate a conventional stack into several component parts, called multistacks. On the same topic, Aga and colleagues [35] propose to generate program variants by randomizing its data layout in memory. Their approach makes each variant to operate the same data in memory with different memory offsets. The Polyverse company? materializes randomization at the commercial level in real life. They deliver a unique Linux distribution compilation for each of its clients by scrambling the Linux packages at the source code level.
°nttps
Possible spelling mistake found.
°nttps://polyverse.com/
Aga
Possible spelling mistake found.
El-Khalil and colleagues [84] propose to use a custom compiler to generate different binaries out of the compilation process. El-Khalil and colleagues modify a version of GCC 4.1 to separate a conventional stack into several component parts, called multistacks. On the same topic, Aga and colleagues [35] propose to generate program variants by randomizing its data layout in memory. Their approach makes each variant to operate the same data in memory with different memory offsets. The Polyverse company? materializes randomization at the commercial level in real life. They deliver a unique Linux distribution compilation for each of its clients by scrambling the Linux packages at the source code level.
Possible typo: you repeated a whitespace
Program variants pool A i b : Deployment
Possible typo: you repeated a whitespace
Program variants I Randomization (a) Randomization scenario. Given a pool of program variants, one variant is deployed per host. Each deployment randomly selects which variant is assigned to each host. The same program variant is executed in the host at every program invocation between deployments. Zz Multivariant ¢ * binary Deployment (Cy Ey Ei Multivariant Execution (MVE) (b) Multivariant Execution scenario. Given a pool of program variants, a sample of the pool is packaged in a multivariant binary that is deployed. Each deployment randomly selects which multivariant binary is assigned to each host. Finally, a variant from the multivariant binary is randomly executed at runtime in the host.
Possible typo: you repeated a whitespace
Program variants pool A i b : Deployment
Possible typo: you repeated a whitespace
Program variants I Randomization (a) Randomization scenario. Given a pool of program variants, one variant is deployed per host. Each deployment randomly selects which variant is assigned to each host. The same program variant is executed in the host at every program invocation between deployments. Zz Multivariant ¢ * binary Deployment (Cy Ey Ei Multivariant Execution (MVE) (b) Multivariant Execution scenario. Given a pool of program variants, a sample of the pool is packaged in a multivariant binary that is deployed. Each deployment randomly selects which multivariant binary is assigned to each host. Finally, a variant from the multivariant binary is randomly executed at runtime in the host.
Possible typo: you repeated a whitespace
Program variants pool A i b : Deployment
Possible typo: you repeated a whitespace
Program variants I Randomization (a) Randomization scenario. Given a pool of program variants, one variant is deployed per host. Each deployment randomly selects which variant is assigned to each host. The same program variant is executed in the host at every program invocation between deployments. Zz Multivariant ¢ * binary Deployment (Cy Ey Ei Multivariant Execution (MVE) (b) Multivariant Execution scenario. Given a pool of program variants, a sample of the pool is packaged in a multivariant binary that is deployed. Each deployment randomly selects which multivariant binary is assigned to each host. Finally, a variant from the multivariant binary is randomly executed at runtime in the host.
Possible typo: you repeated a whitespace
Program variants I Randomization (a) Randomization scenario. Given a pool of program variants, one variant is deployed per host. Each deployment randomly selects which variant is assigned to each host. The same program variant is executed in the host at every program invocation between deployments. Zz Multivariant ¢ * binary Deployment (Cy Ey Ei Multivariant Execution (MVE) (b) Multivariant Execution scenario. Given a pool of program variants, a sample of the pool is packaged in a multivariant binary that is deployed. Each deployment randomly selects which multivariant binary is assigned to each host. Finally, a variant from the multivariant binary is randomly executed at runtime in the host.
Possible typo: you repeated a whitespace
Program variants pool A i b : Deployment
Possible typo: you repeated a whitespace
Program variants pool A i b : Deployment
Possible typo: you repeated a whitespace
Program variants I Randomization (a) Randomization scenario. Given a pool of program variants, one variant is deployed per host. Each deployment randomly selects which variant is assigned to each host. The same program variant is executed in the host at every program invocation between deployments. Zz Multivariant ¢ * binary Deployment (Cy Ey Ei Multivariant Execution (MVE) (b) Multivariant Execution scenario. Given a pool of program variants, a sample of the pool is packaged in a multivariant binary that is deployed. Each deployment randomly selects which multivariant binary is assigned to each host. Finally, a variant from the multivariant binary is randomly executed at runtime in the host.
Possible typo: you repeated a whitespace
Both scenarios have demonstrated to harden security by tackling known vulnerabilities such as (JIT)ROP attacks [66] and power side-channels [67]. Moreover, Artificial Software Diversification is a preemptive technique for yet unknown vulnerabilities [63]. Our work contributes to both usage scenarios for Wasm.
Bruschi
Possible spelling mistake found.
The execution of the embedded variants can be either in parallel to check for inconsistencies or a single program to randomize execution paths [88]. Bruschi et al. [78] extended the idea of executing two variants in parallel with not-overlapping and randomized memory layouts. Simultaneously, Salamat et al. [76] modified a standard library that generates 32-bit Intel variants where the stack grows in the opposite direction, checking for memory inconsistencies. Notably, Davi et al. proposed Isomeron [52], an approach for execution-path randomization. Isomeron simultaneously loads the original program and a variant. While the program is running, Isomeron continuously flips a coin to decide which copy of the program should be executed next at the level of function calls. The previously mentioned works showed the benefits of exploiting the limit case of executing only two variants in a multivariant environment. Agosta et al. [56] and Crane et al. [53] used more than two generated programs in the multivariant composition, randomizing software control flow at runtime.
Possible typo: you repeated a whitespace
Both scenarios have demonstrated to harden security by tackling known vulnerabilities such as (JIT)ROP attacks [66] and power side-channels [67]. Moreover, Artificial Software Diversification is a preemptive technique for yet unknown vulnerabilities [63]. Our work contributes to both usage scenarios for Wasm.
Bruschi
Possible spelling mistake found.
The execution of the embedded variants can be either in parallel to check for inconsistencies or a single program to randomize execution paths [88]. Bruschi et al. [78] extended the idea of executing two variants in parallel with not-overlapping and randomized memory layouts. Simultaneously, Salamat et al. [76] modified a standard library that generates 32-bit Intel variants where the stack grows in the opposite direction, checking for memory inconsistencies. Notably, Davi et al. proposed Isomeron [52], an approach for execution-path randomization. Isomeron simultaneously loads the original program and a variant. While the program is running, Isomeron continuously flips a coin to decide which copy of the program should be executed next at the level of function calls. The previously mentioned works showed the benefits of exploiting the limit case of executing only two variants in a multivariant environment. Agosta et al. [56] and Crane et al. [53] used more than two generated programs in the multivariant composition, randomizing software control flow at runtime.
Bruschi
Possible spelling mistake found.
The execution of the embedded variants can be either in parallel to check for inconsistencies or a single program to randomize execution paths [88]. Bruschi et al. [78] extended the idea of executing two variants in parallel with not-overlapping and randomized memory layouts. Simultaneously, Salamat et al. [76] modified a standard library that generates 32-bit Intel variants where the stack grows in the opposite direction, checking for memory inconsistencies. Notably, Davi et al. proposed Isomeron [52], an approach for execution-path randomization. Isomeron simultaneously loads the original program and a variant. While the program is running, Isomeron continuously flips a coin to decide which copy of the program should be executed next at the level of function calls. The previously mentioned works showed the benefits of exploiting the limit case of executing only two variants in a multivariant environment. Agosta et al. [56] and Crane et al. [53] used more than two generated programs in the multivariant composition, randomizing software control flow at runtime.
Possible typo: you repeated a whitespace
Both scenarios have demonstrated to harden security by tackling known vulnerabilities such as (JIT)ROP attacks [66] and power side-channels [67]. Moreover, Artificial Software Diversification is a preemptive technique for yet unknown vulnerabilities [63]. Our work contributes to both usage scenarios for Wasm.
Possible typo: you repeated a whitespace
Both scenarios have demonstrated to harden security by tackling known vulnerabilities such as (JIT)ROP attacks [66] and power side-channels [67]. Moreover, Artificial Software Diversification is a preemptive technique for yet unknown vulnerabilities [63]. Our work contributes to both usage scenarios for Wasm.
Bruschi
Possible spelling mistake found.
The execution of the embedded variants can be either in parallel to check for inconsistencies or a single program to randomize execution paths [88]. Bruschi et al. [78] extended the idea of executing two variants in parallel with not-overlapping and randomized memory layouts. Simultaneously, Salamat et al. [76] modified a standard library that generates 32-bit Intel variants where the stack grows in the opposite direction, checking for memory inconsistencies. Notably, Davi et al. proposed Isomeron [52], an approach for execution-path randomization. Isomeron simultaneously loads the original program and a variant. While the program is running, Isomeron continuously flips a coin to decide which copy of the program should be executed next at the level of function calls. The previously mentioned works showed the benefits of exploiting the limit case of executing only two variants in a multivariant environment. Agosta et al. [56] and Crane et al. [53] used more than two generated programs in the multivariant composition, randomizing software control flow at runtime.
Voulimeneas
Possible spelling mistake found.
3. Lack of research on MVE for Wasm: Wasm has a growing adoption for Edge platforms. However, MVE in a distributed setting like the Edge has been less researched. Only Voulimeneas et al. [5] recently proposed a multivariant execution system by parallelizing the execution of the variants in different machines for the sake of efficiency.
edge- cloud
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
1. Software monoculture: The same Wasm code is executed in millions of clients devices through web browser. In addition, Wasm evolves to support edge- cloud computing platforms in backend scenarios, 7.e., replicating the same binary along with all computing nodes in a worldwide scale. Therefore, potential vulnerabilities are spread, highlighting a monoculture phenomenon [3].
Voulimeneas
Possible spelling mistake found.
3. Lack of research on MVE for Wasm: Wasm has a growing adoption for Edge platforms. However, MVE in a distributed setting like the Edge has been less researched. Only Voulimeneas et al. [5] recently proposed a multivariant execution system by parallelizing the execution of the variants in different machines for the sake of efficiency.
edge- cloud
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
1. Software monoculture: The same Wasm code is executed in millions of clients devices through web browser. In addition, Wasm evolves to support edge- cloud computing platforms in backend scenarios, 7.e., replicating the same binary along with all computing nodes in a worldwide scale. Therefore, potential vulnerabilities are spread, highlighting a monoculture phenomenon [3].
edge- cloud
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
1. Software monoculture: The same Wasm code is executed in millions of clients devices through web browser. In addition, Wasm evolves to support edge- cloud computing platforms in backend scenarios, 7.e., replicating the same binary along with all computing nodes in a worldwide scale. Therefore, potential vulnerabilities are spread, highlighting a monoculture phenomenon [3].
Voulimeneas
Possible spelling mistake found.
3. Lack of research on MVE for Wasm: Wasm has a growing adoption for Edge platforms. However, MVE in a distributed setting like the Edge has been less researched. Only Voulimeneas et al. [5] recently proposed a multivariant execution system by parallelizing the execution of the variants in different machines for the sake of efficiency.
edge- cloud
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
1. Software monoculture: The same Wasm code is executed in millions of clients devices through web browser. In addition, Wasm evolves to support edge- cloud computing platforms in backend scenarios, 7.e., replicating the same binary along with all computing nodes in a worldwide scale. Therefore, potential vulnerabilities are spread, highlighting a monoculture phenomenon [3].
Voulimeneas
Possible spelling mistake found.
3. Lack of research on MVE for Wasm: Wasm has a growing adoption for Edge platforms. However, MVE in a distributed setting like the Edge has been less researched. Only Voulimeneas et al. [5] recently proposed a multivariant execution system by parallelizing the execution of the variants in different machines for the sake of efficiency.
Voulimeneas
Possible spelling mistake found.
3. Lack of research on MVE for Wasm: Wasm has a growing adoption for Edge platforms. However, MVE in a distributed setting like the Edge has been less researched. Only Voulimeneas et al. [5] recently proposed a multivariant execution system by parallelizing the execution of the variants in different machines for the sake of efficiency.
edge- cloud
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
1. Software monoculture: The same Wasm code is executed in millions of clients devices through web browser. In addition, Wasm evolves to support edge- cloud computing platforms in backend scenarios, 7.e., replicating the same binary along with all computing nodes in a worldwide scale. Therefore, potential vulnerabilities are spread, highlighting a monoculture phenomenon [3].
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Osterlund
Possible spelling mistake found.
Osterlund et al. [30]
Couroussé
Possible spelling mistake found.
Couroussé et al. [50]
Amarilli
Possible spelling mistake found.
Amarilli et al. [67]
Salamat
Possible spelling mistake found.
Salamat et al. [70]
Salamat
Possible spelling mistake found.
Salamat et al. [76]
Bruschi
Possible spelling mistake found.
Bruschi et al. [78]
Younan
Possible spelling mistake found.
Younan et al. [79]
Possible typo: you repeated a whitespace
Authors S1 S82 S83 S4 S5 | U1 U2 | Main technical contribution Pettis and Hansen [95] ~ w~ ~ Custom Pascal compiler for PA-RISC architecture Chew and Song [90] ww ~ Linux Kernel recompilation. Ke et al. [86] ~ Linux Kernel recompilation. Barrantes et al. [89] vw lw x86 to x86 transformations using Valgrind Bhatkar et al. [88] yw ~ ~ ELF binary transformations El-Khalil and Keromytis [84] ~ custom GCC compiler for x86 architecture Bhatkar et al. [83] yw ~ ~ C/C++ source to source transformations and ELF binary transformations Younan et al. [79] ~ custom GCC compiler Bruschi et al. [78] w~ ~ ELF binary transformations. Salamat et al. [76] ~ Y | Custom GNU compiler Jacob et al. [73] vw x86 to x86 transformations Salamat et al. [70] ~ Y | x86 to x86 transformations Amarilli et al. [67] ~ vw |w Polymorphic code generator for ARM architecture Jackson [63] ~ ~ ~~ | LLVM compiler, only backend for x86 architecture Cleemput et al. [84] ~ ~ x86 to x86 transformations Homescu et al. [62] ~ ~ LLVM 3.1.07 Crane et al. [53] vy vw ~ | LLVM, only backend for x86 architecture Davi et al. [52] Y | Windows DLL instrumentation Couroussé et al. [50] vw vw Iw Custom GCC compiler targeting microcontrollers Lu et al. [37] w Ww | GNU assembler for Linux kernel Belleville et al. [42] ~ ~ ~ Only C language frontend, LLVM 3.8.0¢ Aga et al. [35] ~ w~ Data layout randomization, LLVM 3.9% Osterlund et al. [30] ~ ~ | Linux Kernel recompilation. Xu et al. [18] ww w Custom kernel module in Linux OS Lee et al. [8] ~ ~ LLVM 12.0.0 backend for x86 Romano et al. [2] w~ ~ JavaScript and Wasm intermixing t Notice that LLVM only supports Wasm backend from release 7.1.0
Hilbig
Possible spelling mistake found.
The work of Hilbig et al. [11] in 2021 influences our design decisions. According to their work, 70% of the Wasm binaries in the wild are created with LLVM-based compilers. Therefore, we provide artificial software diversity for Wasm through LLVM. Other solutions would have been to diversify at the source-code level or the Wasm binary level. However, these facts would limit the applicability of our work. Our approach is more general as diversification also will work for other LLVM backends.
Hilbig
Possible spelling mistake found.
The work of Hilbig et al. [11] in 2021 influences our design decisions. According to their work, 70% of the Wasm binaries in the wild are created with LLVM-based compilers. Therefore, we provide artificial software diversity for Wasm through LLVM. Other solutions would have been to diversify at the source-code level or the Wasm binary level. However, these facts would limit the applicability of our work. Our approach is more general as diversification also will work for other LLVM backends.
Hilbig
Possible spelling mistake found.
The work of Hilbig et al. [11] in 2021 influences our design decisions. According to their work, 70% of the Wasm binaries in the wild are created with LLVM-based compilers. Therefore, we provide artificial software diversity for Wasm through LLVM. Other solutions would have been to diversify at the source-code level or the Wasm binary level. However, these facts would limit the applicability of our work. Our approach is more general as diversification also will work for other LLVM backends.
)
Unpaired symbol: ‘(’ seems to be missing
The diversifier generates LLVM IR variants from the output of the frontend (). The LLVM IR variants are inputs for our customized Wasm backend. The diversifier and the custom Wasm LLVM backend compose CROW, which creates Wasm program variants out of a source code program (3). In addition, an orthogonal tool comes from the generation of LLVM IR variants at Step @). MEWE [13], merges and creates multivariant binaries to provide MVE for Wasm (4).
)
Unpaired symbol: ‘(’ seems to be missing
The diversifier generates LLVM IR variants from the output of the frontend (). The LLVM IR variants are inputs for our customized Wasm backend. The diversifier and the custom Wasm LLVM backend compose CROW, which creates Wasm program variants out of a source code program (3). In addition, an orthogonal tool comes from the generation of LLVM IR variants at Step @). MEWE [13], merges and creates multivariant binaries to provide MVE for Wasm (4).
)
Unpaired symbol: ‘(’ seems to be missing
The diversifier generates LLVM IR variants from the output of the frontend (). The LLVM IR variants are inputs for our customized Wasm backend. The diversifier and the custom Wasm LLVM backend compose CROW, which creates Wasm program variants out of a source code program (3). In addition, an orthogonal tool comes from the generation of LLVM IR variants at Step @). MEWE [13], merges and creates multivariant binaries to provide MVE for Wasm (4).
)
Unpaired symbol: ‘(’ seems to be missing
The diversifier generates LLVM IR variants from the output of the frontend (). The LLVM IR variants are inputs for our customized Wasm backend. The diversifier and the custom Wasm LLVM backend compose CROW, which creates Wasm program variants out of a source code program (3). In addition, an orthogonal tool comes from the generation of LLVM IR variants at Step @). MEWE [13], merges and creates multivariant binaries to provide MVE for Wasm (4).
)
Unpaired symbol: ‘(’ seems to be missing
The diversifier generates LLVM IR variants from the output of the frontend (). The LLVM IR variants are inputs for our customized Wasm backend. The diversifier and the custom Wasm LLVM backend compose CROW, which creates Wasm program variants out of a source code program (3). In addition, an orthogonal tool comes from the generation of LLVM IR variants at Step @). MEWE [13], merges and creates multivariant binaries to provide MVE for Wasm (4).
)
Unpaired symbol: ‘(’ seems to be missing
The diversifier generates LLVM IR variants from the output of the frontend (). The LLVM IR variants are inputs for our customized Wasm backend. The diversifier and the custom Wasm LLVM backend compose CROW, which creates Wasm program variants out of a source code program (3). In addition, an orthogonal tool comes from the generation of LLVM IR variants at Step @). MEWE [13], merges and creates multivariant binaries to provide MVE for Wasm (4).
)
Unpaired symbol: ‘(’ seems to be missing
The diversifier generates LLVM IR variants from the output of the frontend (). The LLVM IR variants are inputs for our customized Wasm backend. The diversifier and the custom Wasm LLVM backend compose CROW, which creates Wasm program variants out of a source code program (3). In addition, an orthogonal tool comes from the generation of LLVM IR variants at Step @). MEWE [13], merges and creates multivariant binaries to provide MVE for Wasm (4).
Instead
A comma may be missing after the conjunctive/linking adverb ‘Instead’.
We modify Souper to keep all possible solutions in their searching algorithm. Souper builds a Data Flow Graph for each LLVM integer-returning instruction. Then, for each Data Flow Graph, Souper exhaustively builds all possible expressions from a subset of the LLVM IR language. Each syntactically correct expression in the search space is semantically checked versus the original with a theorem solver. Souper synthesizes the replacements in increasing size. Thus, the first found equivalent transformation is the optimal replacement result of the searching. CROW keeps more equivalent replacements during the searching by removing the halting criteria. Instead the original halting conditions, CROW does not halt when it finds the first replacement. CROW continues the search until a timeout is reached or the replacements grow to a size larger that a predefined threshold.
Instead
A comma may be missing after the conjunctive/linking adverb ‘Instead’.
We modify Souper to keep all possible solutions in their searching algorithm. Souper builds a Data Flow Graph for each LLVM integer-returning instruction. Then, for each Data Flow Graph, Souper exhaustively builds all possible expressions from a subset of the LLVM IR language. Each syntactically correct expression in the search space is semantically checked versus the original with a theorem solver. Souper synthesizes the replacements in increasing size. Thus, the first found equivalent transformation is the optimal replacement result of the searching. CROW keeps more equivalent replacements during the searching by removing the halting criteria. Instead the original halting conditions, CROW does not halt when it finds the first replacement. CROW continues the search until a timeout is reached or the replacements grow to a size larger that a predefined threshold.
Instead
A comma may be missing after the conjunctive/linking adverb ‘Instead’.
We modify Souper to keep all possible solutions in their searching algorithm. Souper builds a Data Flow Graph for each LLVM integer-returning instruction. Then, for each Data Flow Graph, Souper exhaustively builds all possible expressions from a subset of the LLVM IR language. Each syntactically correct expression in the search space is semantically checked versus the original with a theorem solver. Souper synthesizes the replacements in increasing size. Thus, the first found equivalent transformation is the optimal replacement result of the searching. CROW keeps more equivalent replacements during the searching by removing the halting criteria. Instead the original halting conditions, CROW does not halt when it finds the first replacement. CROW continues the search until a timeout is reached or the replacements grow to a size larger that a predefined threshold.
Instead
A comma may be missing after the conjunctive/linking adverb ‘Instead’.
We modify Souper to keep all possible solutions in their searching algorithm. Souper builds a Data Flow Graph for each LLVM integer-returning instruction. Then, for each Data Flow Graph, Souper exhaustively builds all possible expressions from a subset of the LLVM IR language. Each syntactically correct expression in the search space is semantically checked versus the original with a theorem solver. Souper synthesizes the replacements in increasing size. Thus, the first found equivalent transformation is the optimal replacement result of the searching. CROW keeps more equivalent replacements during the searching by removing the halting criteria. Instead the original halting conditions, CROW does not halt when it finds the first replacement. CROW continues the search until a timeout is reached or the replacements grow to a size larger that a predefined threshold.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
‘
Unpaired symbol: ‘’’ seems to be missing
‘Notice that for the sake of illustration, we show both codes in C language, this process inside CROW is performed directly in LLVM IR. Also, notice that the two programs in the example follow the definition of functional equivalence discussed in Section 2.2. 2We only illustrate three of the removed optimization for the sake of simplicity.
subexpression
Possible spelling mistake found.
Constant folding: this optimization calculates the operation over two (or more) constants in compiling time, and replaces the original expression by its constant result. For example, let us suppose a = 10 + 12 a subexpression to be compiled, with the original optimization, the Wasm backend replaces it by a = 22.
Mizer
Possible spelling mistake found.
In Figure 3.3 we zoom MEWE from the blue highlighted square in Figure 3.1. MEWE takes the LLVM IR variants generated by CROW’s diversifier. It then merges LLVM IR variants into a Wasm multivariant. In the figure, we highlight the two components of MEWE, Multivariant Generation and the Mizer. In the Multivariant Generation process, MEWE merges the LLVM IR variants created by CROW and creates an LLVM multivariant binary. The merging of the variants intermixes the calling of function variants, allowing the execution path randomization.
inlines
Possible spelling mistake found.
This section describes MEWE [13]. MEWE synthesizes diversified function variants by using CROW. It then provides execution-path randomization in a Multivariant Execution (MVE). The tool generates application-level multivariant binaries without changing the operating system or Wasm runtime. MEWE creates an MVE by intermixing functions for which CROW generates variants, as step (2) in Figure 3.1 shows. CROW generates each one of these variants with fine-grained diversification at the instruction level, applying the majority of the strategies discussed in Section 2.2 and constant inferring. MEWE adds a new mutation strategy. It inlines function variants when appropriate, resulting in call stack diversification at runtime.
<=
Do you wish to insert an arrow?
Expressions normalization: in this case, the comparison operations are normalized to its complementary operation, e.g. a > b is always replaced by b<=a.
inlines
Possible spelling mistake found.
This section describes MEWE [13]. MEWE synthesizes diversified function variants by using CROW. It then provides execution-path randomization in a Multivariant Execution (MVE). The tool generates application-level multivariant binaries without changing the operating system or Wasm runtime. MEWE creates an MVE by intermixing functions for which CROW generates variants, as step (2) in Figure 3.1 shows. CROW generates each one of these variants with fine-grained diversification at the instruction level, applying the majority of the strategies discussed in Section 2.2 and constant inferring. MEWE adds a new mutation strategy. It inlines function variants when appropriate, resulting in call stack diversification at runtime.
<=
Do you wish to insert an arrow?
Expressions normalization: in this case, the comparison operations are normalized to its complementary operation, e.g. a > b is always replaced by b<=a.
Mizer
Possible spelling mistake found.
In Figure 3.3 we zoom MEWE from the blue highlighted square in Figure 3.1. MEWE takes the LLVM IR variants generated by CROW’s diversifier. It then merges LLVM IR variants into a Wasm multivariant. In the figure, we highlight the two components of MEWE, Multivariant Generation and the Mizer. In the Multivariant Generation process, MEWE merges the LLVM IR variants created by CROW and creates an LLVM multivariant binary. The merging of the variants intermixes the calling of function variants, allowing the execution path randomization.
<=
Do you wish to insert an arrow?
Expressions normalization: in this case, the comparison operations are normalized to its complementary operation, e.g. a > b is always replaced by b<=a.
Mizer
Possible spelling mistake found.
In Figure 3.3 we zoom MEWE from the blue highlighted square in Figure 3.1. MEWE takes the LLVM IR variants generated by CROW’s diversifier. It then merges LLVM IR variants into a Wasm multivariant. In the figure, we highlight the two components of MEWE, Multivariant Generation and the Mizer. In the Multivariant Generation process, MEWE merges the LLVM IR variants created by CROW and creates an LLVM multivariant binary. The merging of the variants intermixes the calling of function variants, allowing the execution path randomization.
inlines
Possible spelling mistake found.
This section describes MEWE [13]. MEWE synthesizes diversified function variants by using CROW. It then provides execution-path randomization in a Multivariant Execution (MVE). The tool generates application-level multivariant binaries without changing the operating system or Wasm runtime. MEWE creates an MVE by intermixing functions for which CROW generates variants, as step (2) in Figure 3.1 shows. CROW generates each one of these variants with fine-grained diversification at the instruction level, applying the majority of the strategies discussed in Section 2.2 and constant inferring. MEWE adds a new mutation strategy. It inlines function variants when appropriate, resulting in call stack diversification at runtime.
<=
Do you wish to insert an arrow?
Expressions normalization: in this case, the comparison operations are normalized to its complementary operation, e.g. a > b is always replaced by b<=a.
Mizer
Possible spelling mistake found.
In Figure 3.3 we zoom MEWE from the blue highlighted square in Figure 3.1. MEWE takes the LLVM IR variants generated by CROW’s diversifier. It then merges LLVM IR variants into a Wasm multivariant. In the figure, we highlight the two components of MEWE, Multivariant Generation and the Mizer. In the Multivariant Generation process, MEWE merges the LLVM IR variants created by CROW and creates an LLVM multivariant binary. The merging of the variants intermixes the calling of function variants, allowing the execution path randomization.
inlines
Possible spelling mistake found.
This section describes MEWE [13]. MEWE synthesizes diversified function variants by using CROW. It then provides execution-path randomization in a Multivariant Execution (MVE). The tool generates application-level multivariant binaries without changing the operating system or Wasm runtime. MEWE creates an MVE by intermixing functions for which CROW generates variants, as step (2) in Figure 3.1 shows. CROW generates each one of these variants with fine-grained diversification at the instruction level, applying the majority of the strategies discussed in Section 2.2 and constant inferring. MEWE adds a new mutation strategy. It inlines function variants when appropriate, resulting in call stack diversification at runtime.
<=
Do you wish to insert an arrow?
Expressions normalization: in this case, the comparison operations are normalized to its complementary operation, e.g. a > b is always replaced by b<=a.
Mizer
Possible spelling mistake found.
In Figure 3.3 we zoom MEWE from the blue highlighted square in Figure 3.1. MEWE takes the LLVM IR variants generated by CROW’s diversifier. It then merges LLVM IR variants into a Wasm multivariant. In the figure, we highlight the two components of MEWE, Multivariant Generation and the Mizer. In the Multivariant Generation process, MEWE merges the LLVM IR variants created by CROW and creates an LLVM multivariant binary. The merging of the variants intermixes the calling of function variants, allowing the execution path randomization.
inlines
Possible spelling mistake found.
This section describes MEWE [13]. MEWE synthesizes diversified function variants by using CROW. It then provides execution-path randomization in a Multivariant Execution (MVE). The tool generates application-level multivariant binaries without changing the operating system or Wasm runtime. MEWE creates an MVE by intermixing functions for which CROW generates variants, as step (2) in Figure 3.1 shows. CROW generates each one of these variants with fine-grained diversification at the instruction level, applying the majority of the strategies discussed in Section 2.2 and constant inferring. MEWE adds a new mutation strategy. It inlines function variants when appropriate, resulting in call stack diversification at runtime.
Mizer
Possible spelling mistake found.
In Figure 3.3 we zoom MEWE from the blue highlighted square in Figure 3.1. MEWE takes the LLVM IR variants generated by CROW’s diversifier. It then merges LLVM IR variants into a Wasm multivariant. In the figure, we highlight the two components of MEWE, Multivariant Generation and the Mizer. In the Multivariant Generation process, MEWE merges the LLVM IR variants created by CROW and creates an LLVM multivariant binary. The merging of the variants intermixes the calling of function variants, allowing the execution path randomization.
inlines
Possible spelling mistake found.
This section describes MEWE [13]. MEWE synthesizes diversified function variants by using CROW. It then provides execution-path randomization in a Multivariant Execution (MVE). The tool generates application-level multivariant binaries without changing the operating system or Wasm runtime. MEWE creates an MVE by intermixing functions for which CROW generates variants, as step (2) in Figure 3.1 shows. CROW generates each one of these variants with fine-grained diversification at the instruction level, applying the majority of the strategies discussed in Section 2.2 and constant inferring. MEWE adds a new mutation strategy. It inlines function variants when appropriate, resulting in call stack diversification at runtime.
<=
Do you wish to insert an arrow?
Expressions normalization: in this case, the comparison operations are normalized to its complementary operation, e.g. a > b is always replaced by b<=a.
define
This sentence does not start with an uppercase letter.
define internal i32 @foo(i32 %0) f{ entry: wi = call i32 @discriminate(i32 3) switch i32 %1, label %end [ i32 0, label %case_43_ i32 1, label %case_44_ ] case_43_: %2 = call i32 @fo00_43_(%0) ret i32 %2 case _ 44 : %43 =
ret i32 %3 end: 44 = call i32 @foo_original (%0) ret i32 %4switch- case
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In Listing 3.3, we illustrate the LLVM construction for the function dispatcher corresponding to the right most green node of Figure 3.4. It first calls the random generator, which returns a value used to invoke a specific function variant. We implement the dispatchers with a switch-case structure to avoid indirect calls that can be susceptible to speculative execution-based attacks [7]. The choice of a switch- case also avoids having multiple function definitions with the same signature, which could increase the attack surface in case the function signature is vulnerable [10]. This also allows MEWE to inline function variants inside the dispatcher instead of defining them again. Here we trade security over performance since dispatcher functions that perform indirect calls, instead of a switch-case, could improve the performance of the dispatchers as indirect calls have constant time.
define
This sentence does not start with an uppercase letter.
define internal i32 @foo(i32 %0) f{ entry: wi = call i32 @discriminate(i32 3) switch i32 %1, label %end [ i32 0, label %case_43_ i32 1, label %case_44_ ] case_43_: %2 = call i32 @fo00_43_(%0) ret i32 %2 case _ 44 : %43 =
ret i32 %3 end: 44 = call i32 @foo_original (%0) ret i32 %4switch- case
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In Listing 3.3, we illustrate the LLVM construction for the function dispatcher corresponding to the right most green node of Figure 3.4. It first calls the random generator, which returns a value used to invoke a specific function variant. We implement the dispatchers with a switch-case structure to avoid indirect calls that can be susceptible to speculative execution-based attacks [7]. The choice of a switch- case also avoids having multiple function definitions with the same signature, which could increase the attack surface in case the function signature is vulnerable [10]. This also allows MEWE to inline function variants inside the dispatcher instead of defining them again. Here we trade security over performance since dispatcher functions that perform indirect calls, instead of a switch-case, could improve the performance of the dispatchers as indirect calls have constant time.
switch- case
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In Listing 3.3, we illustrate the LLVM construction for the function dispatcher corresponding to the right most green node of Figure 3.4. It first calls the random generator, which returns a value used to invoke a specific function variant. We implement the dispatchers with a switch-case structure to avoid indirect calls that can be susceptible to speculative execution-based attacks [7]. The choice of a switch- case also avoids having multiple function definitions with the same signature, which could increase the attack surface in case the function signature is vulnerable [10]. This also allows MEWE to inline function variants inside the dispatcher instead of defining them again. Here we trade security over performance since dispatcher functions that perform indirect calls, instead of a switch-case, could improve the performance of the dispatchers as indirect calls have constant time.
define
This sentence does not start with an uppercase letter.
define internal i32 @foo(i32 %0) f{ entry: wi = call i32 @discriminate(i32 3) switch i32 %1, label %end [ i32 0, label %case_43_ i32 1, label %case_44_ ] case_43_: %2 = call i32 @fo00_43_(%0) ret i32 %2 case _ 44 : %43 =
ret i32 %3 end: 44 = call i32 @foo_original (%0) ret i32 %4define
This sentence does not start with an uppercase letter.
define internal i32 @foo(i32 %0) f{ entry: wi = call i32 @discriminate(i32 3) switch i32 %1, label %end [ i32 0, label %case_43_ i32 1, label %case_44_ ] case_43_: %2 = call i32 @fo00_43_(%0) ret i32 %2 case _ 44 : %43 =
ret i32 %3 end: 44 = call i32 @foo_original (%0) ret i32 %4switch- case
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In Listing 3.3, we illustrate the LLVM construction for the function dispatcher corresponding to the right most green node of Figure 3.4. It first calls the random generator, which returns a value used to invoke a specific function variant. We implement the dispatchers with a switch-case structure to avoid indirect calls that can be susceptible to speculative execution-based attacks [7]. The choice of a switch- case also avoids having multiple function definitions with the same signature, which could increase the attack surface in case the function signature is vulnerable [10]. This also allows MEWE to inline function variants inside the dispatcher instead of defining them again. Here we trade security over performance since dispatcher functions that perform indirect calls, instead of a switch-case, could improve the performance of the dispatchers as indirect calls have constant time.
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
Shttps
Possible spelling mistake found.
Shttps://doc.rust-lang.org/rustc/what-is-rustc.html
WASI
Possible spelling mistake found.
MEWE has four specific objectives: link the LLVM multivariant binary, inject a random generator, tamper the application’s entrypoint, and merge all these components into a multivariant Wasm binary. We use the Rustc compiler® to orchestrate the mixing. For the random generator, we rely on WASI’s specification [15] for the random behavior of the dispatchers. However, its exact implementation is dependent on the platform on which the binary is deployed. The Mixer creates a new entrypoint for the binary called entrypoint tampering. It wraps the dispatcher for the entrypoint variants as a new function for the final Wasm binary and is declared as the application entrypoint.
‘
Unpaired symbol: ‘’’ seems to be missing
In this chapter, we present our methodology to answer the research questions enunciated in Section 1.3. We investigate three research questions. In the first question, we aim to investigate the static differences between variants. We evaluate the code properties that increase or diminish software diversification. Our second research question focuses on comparing their behavior during their execution, complementing our first research question. ‘The generated variants should be statically different, but also should provide different observable behaviors. The final research question evaluates the feasibility of using the program variants in security-sensitive environments. We evaluate our generated program variants in an edge-cloud computing platform proposing a novel multivariant execution approach.
‘
Unpaired symbol: ‘’’ seems to be missing
In this chapter, we present our methodology to answer the research questions enunciated in Section 1.3. We investigate three research questions. In the first question, we aim to investigate the static differences between variants. We evaluate the code properties that increase or diminish software diversification. Our second research question focuses on comparing their behavior during their execution, complementing our first research question. ‘The generated variants should be statically different, but also should provide different observable behaviors. The final research question evaluates the feasibility of using the program variants in security-sensitive environments. We evaluate our generated program variants in an edge-cloud computing platform proposing a novel multivariant execution approach.
'
Unpaired symbol: ‘'’ seems to be missing
'http://www.rosettacode. org/wiki/Rosetta_Code
security- related
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
2. Libsodium: This project is an encryption, decryption, signature, and password hashing library implemented in 102 separated modules. The modules have between 8 and 2703 lines of code per function. This project is selected based on two main criteria: first, its importance for security- related applications, and second, its suitability to collect the modules in LLVM intermediate representation.
Conver
Possible spelling mistake found.
Our experiments assess the impact of artificially created diversity. The first step is to build a suitable corpus of programs’ seeds to generate the variants. Then, we answer all our research questions with three corpora which follow two main properties: 1) functionally diverse: the selection of the programs is not biased by functionally fixed tasks, for example, the Rosetta contains programs that solve from the Babbage problem to calculate Conver Hull; and 2) representative: our corpora have 3021 programs that can be ported to Wasm, representing approximately 40% of the unique Wasm binaries in the wild [11].
security- related
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
2. Libsodium: This project is an encryption, decryption, signature, and password hashing library implemented in 102 separated modules. The modules have between 8 and 2703 lines of code per function. This project is selected based on two main criteria: first, its importance for security- related applications, and second, its suitability to collect the modules in LLVM intermediate representation.
Conver
Possible spelling mistake found.
Our experiments assess the impact of artificially created diversity. The first step is to build a suitable corpus of programs’ seeds to generate the variants. Then, we answer all our research questions with three corpora which follow two main properties: 1) functionally diverse: the selection of the programs is not biased by functionally fixed tasks, for example, the Rosetta contains programs that solve from the Babbage problem to calculate Conver Hull; and 2) representative: our corpora have 3021 programs that can be ported to Wasm, representing approximately 40% of the unique Wasm binaries in the wild [11].
'
Unpaired symbol: ‘'’ seems to be missing
'http://www.rosettacode. org/wiki/Rosetta_Code
Conver
Possible spelling mistake found.
Our experiments assess the impact of artificially created diversity. The first step is to build a suitable corpus of programs’ seeds to generate the variants. Then, we answer all our research questions with three corpora which follow two main properties: 1) functionally diverse: the selection of the programs is not biased by functionally fixed tasks, for example, the Rosetta contains programs that solve from the Babbage problem to calculate Conver Hull; and 2) representative: our corpora have 3021 programs that can be ported to Wasm, representing approximately 40% of the unique Wasm binaries in the wild [11].
'
Unpaired symbol: ‘'’ seems to be missing
'http://www.rosettacode. org/wiki/Rosetta_Code
security- related
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
2. Libsodium: This project is an encryption, decryption, signature, and password hashing library implemented in 102 separated modules. The modules have between 8 and 2703 lines of code per function. This project is selected based on two main criteria: first, its importance for security- related applications, and second, its suitability to collect the modules in LLVM intermediate representation.
Conver
Possible spelling mistake found.
Our experiments assess the impact of artificially created diversity. The first step is to build a suitable corpus of programs’ seeds to generate the variants. Then, we answer all our research questions with three corpora which follow two main properties: 1) functionally diverse: the selection of the programs is not biased by functionally fixed tasks, for example, the Rosetta contains programs that solve from the Babbage problem to calculate Conver Hull; and 2) representative: our corpora have 3021 programs that can be ported to Wasm, representing approximately 40% of the unique Wasm binaries in the wild [11].
'
Unpaired symbol: ‘'’ seems to be missing
'http://www.rosettacode. org/wiki/Rosetta_Code
security- related
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
2. Libsodium: This project is an encryption, decryption, signature, and password hashing library implemented in 102 separated modules. The modules have between 8 and 2703 lines of code per function. This project is selected based on two main criteria: first, its importance for security- related applications, and second, its suitability to collect the modules in LLVM intermediate representation.
Conver
Possible spelling mistake found.
Our experiments assess the impact of artificially created diversity. The first step is to build a suitable corpus of programs’ seeds to generate the variants. Then, we answer all our research questions with three corpora which follow two main properties: 1) functionally diverse: the selection of the programs is not biased by functionally fixed tasks, for example, the Rosetta contains programs that solve from the Babbage problem to calculate Conver Hull; and 2) representative: our corpora have 3021 programs that can be ported to Wasm, representing approximately 40% of the unique Wasm binaries in the wild [11].
'
Unpaired symbol: ‘'’ seems to be missing
'http://www.rosettacode. org/wiki/Rosetta_Code
security- related
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
2. Libsodium: This project is an encryption, decryption, signature, and password hashing library implemented in 102 separated modules. The modules have between 8 and 2703 lines of code per function. This project is selected based on two main criteria: first, its importance for security- related applications, and second, its suitability to collect the modules in LLVM intermediate representation.
Conver
Possible spelling mistake found.
Our experiments assess the impact of artificially created diversity. The first step is to build a suitable corpus of programs’ seeds to generate the variants. Then, we answer all our research questions with three corpora which follow two main properties: 1) functionally diverse: the selection of the programs is not biased by functionally fixed tasks, for example, the Rosetta contains programs that solve from the Babbage problem to calculate Conver Hull; and 2) representative: our corpora have 3021 programs that can be ported to Wasm, representing approximately 40% of the unique Wasm binaries in the wild [11].
'
Unpaired symbol: ‘'’ seems to be missing
'http://www.rosettacode. org/wiki/Rosetta_Code
security- related
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
2. Libsodium: This project is an encryption, decryption, signature, and password hashing library implemented in 102 separated modules. The modules have between 8 and 2703 lines of code per function. This project is selected based on two main criteria: first, its importance for security- related applications, and second, its suitability to collect the modules in LLVM intermediate representation.
'
Unpaired symbol: ‘'’ seems to be missing
'http://www.rosettacode. org/wiki/Rosetta_Code
security- related
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
2. Libsodium: This project is an encryption, decryption, signature, and password hashing library implemented in 102 separated modules. The modules have between 8 and 2703 lines of code per function. This project is selected based on two main criteria: first, its importance for security- related applications, and second, its suitability to collect the modules in LLVM intermediate representation.
Conver
Possible spelling mistake found.
Our experiments assess the impact of artificially created diversity. The first step is to build a suitable corpus of programs’ seeds to generate the variants. Then, we answer all our research questions with three corpora which follow two main properties: 1) functionally diverse: the selection of the programs is not biased by functionally fixed tasks, for example, the Rosetta contains programs that solve from the Babbage problem to calculate Conver Hull; and 2) representative: our corpora have 3021 programs that can be ported to Wasm, representing approximately 40% of the unique Wasm binaries in the wild [11].
KTH
Possible spelling mistake found.
Corpus Lang. No. modules | No. functions | LOC range | Location Rosetta C ~m 303 7 - 150 https://github.com /KTH/slumps/tree/m aster/benchmark_pro grams/rossetta/val id/no_input Libsodium | LLVM | 102 869 8 - 2703 https://github.com IR + /jedisct1/libsodiu Rust m/tree/2b5f8f2b681 0121c2d9a8cc8a392e 01£4d3de433 QrCode LLVM | 2 1849 4 - 725 https://github.com IR + /kennytm/qrcode-ru Rust st/commit/faa4397b a7cS5f£441cb9a2b436c 1e84a0d52ae942 Total 3021
KTH
Possible spelling mistake found.
Corpus Lang. No. modules | No. functions | LOC range | Location Rosetta C ~m 303 7 - 150 https://github.com /KTH/slumps/tree/m aster/benchmark_pro grams/rossetta/val id/no_input Libsodium | LLVM | 102 869 8 - 2703 https://github.com IR + /jedisct1/libsodiu Rust m/tree/2b5f8f2b681 0121c2d9a8cc8a392e 01£4d3de433 QrCode LLVM | 2 1849 4 - 725 https://github.com IR + /kennytm/qrcode-ru Rust st/commit/faa4397b a7cS5f£441cb9a2b436c 1e84a0d52ae942 Total 3021
KTH
Possible spelling mistake found.
Corpus Lang. No. modules | No. functions | LOC range | Location Rosetta C ~m 303 7 - 150 https://github.com /KTH/slumps/tree/m aster/benchmark_pro grams/rossetta/val id/no_input Libsodium | LLVM | 102 869 8 - 2703 https://github.com IR + /jedisct1/libsodiu Rust m/tree/2b5f8f2b681 0121c2d9a8cc8a392e 01£4d3de433 QrCode LLVM | 2 1849 4 - 725 https://github.com IR + /kennytm/qrcode-ru Rust st/commit/faa4397b a7cS5f£441cb9a2b436c 1e84a0d52ae942 Total 3021
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
Possible typo: you repeated a whitespace
Program2's population Wasm variant 1 Wasm variant 1
Possible typo: you repeated a whitespace
Wasm variant 2 program1
Possible typo: you repeated a whitespace
Wasm variant n Program1's unique population Wasm variant n
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
such
This sentence does not start with an uppercase letter.
such that Vu;,v; € U(P), u3 4 vj > mddsum(v;) 4 md5sum(v;). Mddsum(v) is the md5 hash calculated over the bytecode stream of the program file v. Notice that the original program P is included in U(P).
,V
Put a space after the comma.
Beyond the program’s population, we also want to compare how many program variants are unique. The subset of unique programs in the program’s population hints how the variants are different between them and not only against the original program. For example, imagine a program P with two program variants V; and V2, the program population is composed by {P,V, and V2}, where Vj is different from P, and V4 is different from P. V, is either equal or different from V2, the program’s population still be the same. If V; and V2 are equal, then only one unique variant is generated,
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
enumerative
Possible spelling mistake found.
To generate program variants, we synthesize programs with an enumerative strategy, checking each synthesis for equivalence modulo input [38] against the original program, as it is described in Section 3.2. For obvious reasons, this space is nearly impossible to explore in a reasonable time as soon as the limit of instructions increases. Therefore, we use two parameters to control the size of the search space and hence the time required to traverse it. On the one hand, one can limit the size of the variants. On the other hand, one can limit the set of instructions used for the synthesis. In our experiments for RQ1, we use all instructions in the CROW diversifier synthesis.
DSUS
Possible spelling mistake found.
UCS(C) =DSUS(P) VP EC
aS
Possible spelling mistake found.
CS(C)=aS(P)VP € C
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
Possible typo: you repeated a whitespace
Execute aU Wasm : variant n Execution trace n
TraceDif
Possible spelling mistake found.
We compare the execution traces of two any programs of the same population with a global alignment metric. We propose a global alignment approach using Dynamic Time Warping (DTW). Dynamic Time Warping [99] computes the global alignment between two sequences. It returns a value capturing the cost of this alignment, which is a distance metric. The larger the DTW distance, the more different the two sequences are. DTW has been used for comparing traces in different domains. For software, De A. Maia et al. [72] proposed to identify similarity between programs from execution traces. As we discussed in Section 2.1, a theoretical Wasm engine perform push and pop operations when the program instructions are executed. Therefore, in our experiments, we define the execution traces as the sequence of the stack operations during the execution of the Wasm program. In the following text, we define the TraceDif f metric.
TraceDiff
Possible spelling mistake found.
Metric 5. TraceDiff : Given two programs P and P’ from the same program’s population, TraceDiff (P,P’), computes the DTW distance collected during their execution. A TraceDiff of 0 means that both traces are identical. The higher the value, the more different the traces.
TraceDiff
Possible spelling mistake found.
Metric 5. TraceDiff : Given two programs P and P’ from the same program’s population, TraceDiff (P,P’), computes the DTW distance collected during their execution. A TraceDiff of 0 means that both traces are identical. The higher the value, the more different the traces.
TraceDif
Possible spelling mistake found.
We compare the execution traces of two any programs of the same population with a global alignment metric. We propose a global alignment approach using Dynamic Time Warping (DTW). Dynamic Time Warping [99] computes the global alignment between two sequences. It returns a value capturing the cost of this alignment, which is a distance metric. The larger the DTW distance, the more different the two sequences are. DTW has been used for comparing traces in different domains. For software, De A. Maia et al. [72] proposed to identify similarity between programs from execution traces. As we discussed in Section 2.1, a theoretical Wasm engine perform push and pop operations when the program instructions are executed. Therefore, in our experiments, we define the execution traces as the sequence of the stack operations during the execution of the Wasm program. In the following text, we define the TraceDif f metric.
TraceDiff
Possible spelling mistake found.
Metric 5. TraceDiff : Given two programs P and P’ from the same program’s population, TraceDiff (P,P’), computes the DTW distance collected during their execution. A TraceDiff of 0 means that both traces are identical. The higher the value, the more different the traces.
TraceDif
Possible spelling mistake found.
We compare the execution traces of two any programs of the same population with a global alignment metric. We propose a global alignment approach using Dynamic Time Warping (DTW). Dynamic Time Warping [99] computes the global alignment between two sequences. It returns a value capturing the cost of this alignment, which is a distance metric. The larger the DTW distance, the more different the two sequences are. DTW has been used for comparing traces in different domains. For software, De A. Maia et al. [72] proposed to identify similarity between programs from execution traces. As we discussed in Section 2.1, a theoretical Wasm engine perform push and pop operations when the program instructions are executed. Therefore, in our experiments, we define the execution traces as the sequence of the stack operations during the execution of the Wasm program. In the following text, we define the TraceDif f metric.
pairwise strategy
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘strategy’) instead of another adjective.
Furthermore, we collect the execution time, Metric 6, for all programs and their variants. We compare the collected execution-time distributions between programs using a Mann-Withney U test [101] in a pairwise strategy.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
To compare program and variants behavior during runtime, we analyze all the unique program variants generated to answer RQ1 in a pairwise comparison using the value of aligning their execution traces (Metric 5). We use SWAM? to execute each program and variant to collect the stack operation traces. SWAM is a Wasm interpreter that provides functionalities to capture the dynamic information of Wasm program executions, including the virtual stack operations.
pairwise strategy
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘strategy’) instead of another adjective.
Furthermore, we collect the execution time, Metric 6, for all programs and their variants. We compare the collected execution-time distributions between programs using a Mann-Withney U test [101] in a pairwise strategy.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
To compare program and variants behavior during runtime, we analyze all the unique program variants generated to answer RQ1 in a pairwise comparison using the value of aligning their execution traces (Metric 5). We use SWAM? to execute each program and variant to collect the stack operation traces. SWAM is a Wasm interpreter that provides functionalities to capture the dynamic information of Wasm program executions, including the virtual stack operations.
pairwise strategy
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘strategy’) instead of another adjective.
Furthermore, we collect the execution time, Metric 6, for all programs and their variants. We compare the collected execution-time distributions between programs using a Mann-Withney U test [101] in a pairwise strategy.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
To compare program and variants behavior during runtime, we analyze all the unique program variants generated to answer RQ1 in a pairwise comparison using the value of aligning their execution traces (Metric 5). We use SWAM? to execute each program and variant to collect the stack operation traces. SWAM is a Wasm interpreter that provides functionalities to capture the dynamic information of Wasm program executions, including the virtual stack operations.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
To compare program and variants behavior during runtime, we analyze all the unique program variants generated to answer RQ1 in a pairwise comparison using the value of aligning their execution traces (Metric 5). We use SWAM? to execute each program and variant to collect the stack operation traces. SWAM is a Wasm interpreter that provides functionalities to capture the dynamic information of Wasm program executions, including the virtual stack operations.
pairwise strategy
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘strategy’) instead of another adjective.
Furthermore, we collect the execution time, Metric 6, for all programs and their variants. We compare the collected execution-time distributions between programs using a Mann-Withney U test [101] in a pairwise strategy.
pairwise strategy
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘strategy’) instead of another adjective.
Furthermore, we collect the execution time, Metric 6, for all programs and their variants. We compare the collected execution-time distributions between programs using a Mann-Withney U test [101] in a pairwise strategy.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
To compare program and variants behavior during runtime, we analyze all the unique program variants generated to answer RQ1 in a pairwise comparison using the value of aligning their execution traces (Metric 5). We use SWAM? to execute each program and variant to collect the stack operation traces. SWAM is a Wasm interpreter that provides functionalities to capture the dynamic information of Wasm program executions, including the virtual stack operations.
pairwise strategy
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘strategy’) instead of another adjective.
Furthermore, we collect the execution time, Metric 6, for all programs and their variants. We compare the collected execution-time distributions between programs using a Mann-Withney U test [101] in a pairwise strategy.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
To compare program and variants behavior during runtime, we analyze all the unique program variants generated to answer RQ1 in a pairwise comparison using the value of aligning their execution traces (Metric 5). We use SWAM? to execute each program and variant to collect the stack operation traces. SWAM is a Wasm interpreter that provides functionalities to capture the dynamic information of Wasm program executions, including the virtual stack operations.
pairwise strategy
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘strategy’) instead of another adjective.
Furthermore, we collect the execution time, Metric 6, for all programs and their variants. We compare the collected execution-time distributions between programs using a Mann-Withney U test [101] in a pairwise strategy.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
To compare program and variants behavior during runtime, we analyze all the unique program variants generated to answer RQ1 in a pairwise comparison using the value of aligning their execution traces (Metric 5). We use SWAM? to execute each program and variant to collect the stack operation traces. SWAM is a Wasm interpreter that provides functionalities to capture the dynamic information of Wasm program executions, including the virtual stack operations.
real- world
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In RQ38, we study whether the created variants can be used in real- world applications and what properties offer the composition of the variants as multivariant binaries. We build multivariant binaries (according to Definition 1), and we deploy and execute them at the Edge. The usage of edge-cloud computing platforms to answer RQ3 is motivated by two reasons. First, it is an emerging technology. Using Wasm as an intermediate layer is better in terms of startup and memory usage, than containerization or virtualization [23, 39]. This has encouraged edge computing platforms like Cloudflare and Fastly to use Wasm to deploy client applications in a modular and sandboxed manner [36, 40]. Second, edge-cloud computing platforms are shown to not be completely secure [7| and multivariant execution offers a preemptive technique against predictable behaviors such as execution time.
Possible typo: you repeated a whitespace
Multivariant creation Wasm : : variant n Execution time analysis Execute Wasm . Multivariant variant 2 binary Cloud execution time Wasm variant 1 Ba Execute
real- world
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In RQ38, we study whether the created variants can be used in real- world applications and what properties offer the composition of the variants as multivariant binaries. We build multivariant binaries (according to Definition 1), and we deploy and execute them at the Edge. The usage of edge-cloud computing platforms to answer RQ3 is motivated by two reasons. First, it is an emerging technology. Using Wasm as an intermediate layer is better in terms of startup and memory usage, than containerization or virtualization [23, 39]. This has encouraged edge computing platforms like Cloudflare and Fastly to use Wasm to deploy client applications in a modular and sandboxed manner [36, 40]. Second, edge-cloud computing platforms are shown to not be completely secure [7| and multivariant execution offers a preemptive technique against predictable behaviors such as execution time.
Possible typo: you repeated a whitespace
Multivariant creation Wasm : : variant n Execution time analysis Execute Wasm . Multivariant variant 2 binary Cloud execution time Wasm variant 1 Ba Execute
Possible typo: you repeated a whitespace
Multivariant creation Wasm : : variant n Execution time analysis Execute Wasm . Multivariant variant 2 binary Cloud execution time Wasm variant 1 Ba Execute
real- world
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In RQ38, we study whether the created variants can be used in real- world applications and what properties offer the composition of the variants as multivariant binaries. We build multivariant binaries (according to Definition 1), and we deploy and execute them at the Edge. The usage of edge-cloud computing platforms to answer RQ3 is motivated by two reasons. First, it is an emerging technology. Using Wasm as an intermediate layer is better in terms of startup and memory usage, than containerization or virtualization [23, 39]. This has encouraged edge computing platforms like Cloudflare and Fastly to use Wasm to deploy client applications in a modular and sandboxed manner [36, 40]. Second, edge-cloud computing platforms are shown to not be completely secure [7| and multivariant execution offers a preemptive technique against predictable behaviors such as execution time.
Possible typo: you repeated a whitespace
Multivariant creation Wasm : : variant n Execution time analysis Execute Wasm . Multivariant variant 2 binary Cloud execution time Wasm variant 1 Ba Execute
real- world
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In RQ38, we study whether the created variants can be used in real- world applications and what properties offer the composition of the variants as multivariant binaries. We build multivariant binaries (according to Definition 1), and we deploy and execute them at the Edge. The usage of edge-cloud computing platforms to answer RQ3 is motivated by two reasons. First, it is an emerging technology. Using Wasm as an intermediate layer is better in terms of startup and memory usage, than containerization or virtualization [23, 39]. This has encouraged edge computing platforms like Cloudflare and Fastly to use Wasm to deploy client applications in a modular and sandboxed manner [36, 40]. Second, edge-cloud computing platforms are shown to not be completely secure [7| and multivariant execution offers a preemptive technique against predictable behaviors such as execution time.
Possible typo: you repeated a whitespace
Multivariant creation Wasm : : variant n Execution time analysis Execute Wasm . Multivariant variant 2 binary Cloud execution time Wasm variant 1 Ba Execute
real- world
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In RQ38, we study whether the created variants can be used in real- world applications and what properties offer the composition of the variants as multivariant binaries. We build multivariant binaries (according to Definition 1), and we deploy and execute them at the Edge. The usage of edge-cloud computing platforms to answer RQ3 is motivated by two reasons. First, it is an emerging technology. Using Wasm as an intermediate layer is better in terms of startup and memory usage, than containerization or virtualization [23, 39]. This has encouraged edge computing platforms like Cloudflare and Fastly to use Wasm to deploy client applications in a modular and sandboxed manner [36, 40]. Second, edge-cloud computing platforms are shown to not be completely secure [7| and multivariant execution offers a preemptive technique against predictable behaviors such as execution time.
Possible typo: you repeated a whitespace
Multivariant creation Wasm : : variant n Execution time analysis Execute Wasm . Multivariant variant 2 binary Cloud execution time Wasm variant 1 Ba Execute
real- world
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In RQ38, we study whether the created variants can be used in real- world applications and what properties offer the composition of the variants as multivariant binaries. We build multivariant binaries (according to Definition 1), and we deploy and execute them at the Edge. The usage of edge-cloud computing platforms to answer RQ3 is motivated by two reasons. First, it is an emerging technology. Using Wasm as an intermediate layer is better in terms of startup and memory usage, than containerization or virtualization [23, 39]. This has encouraged edge computing platforms like Cloudflare and Fastly to use Wasm to deploy client applications in a modular and sandboxed manner [36, 40]. Second, edge-cloud computing platforms are shown to not be completely secure [7| and multivariant execution offers a preemptive technique against predictable behaviors such as execution time.
real- world
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
In RQ38, we study whether the created variants can be used in real- world applications and what properties offer the composition of the variants as multivariant binaries. We build multivariant binaries (according to Definition 1), and we deploy and execute them at the Edge. The usage of edge-cloud computing platforms to answer RQ3 is motivated by two reasons. First, it is an emerging technology. Using Wasm as an intermediate layer is better in terms of startup and memory usage, than containerization or virtualization [23, 39]. This has encouraged edge computing platforms like Cloudflare and Fastly to use Wasm to deploy client applications in a modular and sandboxed manner [36, 40]. Second, edge-cloud computing platforms are shown to not be completely secure [7| and multivariant execution offers a preemptive technique against predictable behaviors such as execution time.
Possible typo: you repeated a whitespace
Multivariant creation Wasm : : variant n Execution time analysis Execute Wasm . Multivariant variant 2 binary Cloud execution time Wasm variant 1 Ba Execute
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
world wide
The adjective/adverb “worldwide” is spelled as one word.
We do the collection of the execution times twice, for the original program and its multivariant binary. We deploy and execute the original and the multivariant binaries on 64 edge nodes located around the world. In Figure 4.4 we illustrate the world wide location of the edges nodes.
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
,.
Did you just mean “,” or “.”?
RQ,. To what extent can we artificially generate program variants for WebAssembly?
local
This sentence does not start with an uppercase letter.
local.get 0 132.const 2 i32.mul local.get 0 132.const 1 i32.shl local.get 0 132.const 132.gt_s 10 132%const 11 local.get 0 i32.le_s 132-const 2 i32.mul i32.const 2 i32.mul 132. const -2147483647 i32.mul
Possible typo: you repeated a whitespace
Listing 5.1: Diversification through arithmetic expression replacement. Listing 5.2: Diversification through Listing 5.3: Diversification inversion of comparison through overflow of integer operations. operands.
,.
Did you just mean “,” or “.”?
Answer to RQ,. To what extent can we artificially generate program variants for WebAssembly? We can provide diversification for 11.78% of the programs in our corpora. Constant inferring, complemented with the high presence of arithmetic operations and bounded loops in the original program increased the number of program variants. Our method based on the inclusion of a diversifier in the LLVM pipeline proved to be feasible, by providing statically different Wasm variants.
local
This sentence does not start with an uppercase letter.
local.get 0 132.const 2 i32.mul local.get 0 132.const 1 i32.shl local.get 0 132.const 132.gt_s 10 132%const 11 local.get 0 i32.le_s 132-const 2 i32.mul i32.const 2 i32.mul 132. const -2147483647 i32.mul
Possible typo: you repeated a whitespace
Listing 5.1: Diversification through arithmetic expression replacement. Listing 5.2: Diversification through Listing 5.3: Diversification inversion of comparison through overflow of integer operations. operands.
,.
Did you just mean “,” or “.”?
Answer to RQ,. To what extent can we artificially generate program variants for WebAssembly? We can provide diversification for 11.78% of the programs in our corpora. Constant inferring, complemented with the high presence of arithmetic operations and bounded loops in the original program increased the number of program variants. Our method based on the inclusion of a diversifier in the LLVM pipeline proved to be feasible, by providing statically different Wasm variants.
Possible typo: you repeated a whitespace
Listing 5.1: Diversification through arithmetic expression replacement. Listing 5.2: Diversification through Listing 5.3: Diversification inversion of comparison through overflow of integer operations. operands.
,.
Did you just mean “,” or “.”?
Answer to RQ,. To what extent can we artificially generate program variants for WebAssembly? We can provide diversification for 11.78% of the programs in our corpora. Constant inferring, complemented with the high presence of arithmetic operations and bounded loops in the original program increased the number of program variants. Our method based on the inclusion of a diversifier in the LLVM pipeline proved to be feasible, by providing statically different Wasm variants.
local
This sentence does not start with an uppercase letter.
local.get 0 132.const 2 i32.mul local.get 0 132.const 1 i32.shl local.get 0 132.const 132.gt_s 10 132%const 11 local.get 0 i32.le_s 132-const 2 i32.mul i32.const 2 i32.mul 132. const -2147483647 i32.mul
,.
Did you just mean “,” or “.”?
Answer to RQ,. To what extent can we artificially generate program variants for WebAssembly? We can provide diversification for 11.78% of the programs in our corpora. Constant inferring, complemented with the high presence of arithmetic operations and bounded loops in the original program increased the number of program variants. Our method based on the inclusion of a diversifier in the LLVM pipeline proved to be feasible, by providing statically different Wasm variants.
local
This sentence does not start with an uppercase letter.
local.get 0 132.const 2 i32.mul local.get 0 132.const 1 i32.shl local.get 0 132.const 132.gt_s 10 132%const 11 local.get 0 i32.le_s 132-const 2 i32.mul i32.const 2 i32.mul 132. const -2147483647 i32.mul
Possible typo: you repeated a whitespace
Listing 5.1: Diversification through arithmetic expression replacement. Listing 5.2: Diversification through Listing 5.3: Diversification inversion of comparison through overflow of integer operations. operands.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
In Figure 5.1 we plot the distribution of all comparisons (in logarithmic scale) of all pairs of program/variant in each programs’ population. All compared programs are statically different. Each vertical group of blue dots represents all the pairwise comparison of the traces (Metric 5) for a program of the Rosetta corpus for which we generate variants. Each dot represents a comparison between two programs’ traces according to Metric 5. The programs are sorted by their number of variants in descending order. For the sake of illustration, we filter out those programs for which we generate only 2 unique variants.
TraceDiff
Possible spelling mistake found.
This section is organized as follows. First, we analyze the programs’ populations by comparing the traces for each pair of program/variant with TraceDiff of Metric 5. The pairwise comparison will hint at the results at the population level. We analyze not only the differences of a variant regarding its original program, we also compare the variants against other variants. Second, we do the same pairwise strategy for the execution-time distributions Metric 6, performing a Mann-Withney U test for each pair of program/variant times distribution. Finally, we conclude and answer RQ2.
TraceDiff
Possible spelling mistake found.
We have observed that in the majority of the cases, the mean of the comparison values is remarkably large. We analyze the length of the traces, and one reason behind such large values of TraceDiff is that some variants result from constant inferring. For example, if a loop is replaced by a constant, instead of several symbols in the stack operation trace, we observe one. Consequently, the distance between two program traces is significant.
TraceDiff
Possible spelling mistake found.
This section is organized as follows. First, we analyze the programs’ populations by comparing the traces for each pair of program/variant with TraceDiff of Metric 5. The pairwise comparison will hint at the results at the population level. We analyze not only the differences of a variant regarding its original program, we also compare the variants against other variants. Second, we do the same pairwise strategy for the execution-time distributions Metric 6, performing a Mann-Withney U test for each pair of program/variant times distribution. Finally, we conclude and answer RQ2.
TraceDiff
Possible spelling mistake found.
We have observed that in the majority of the cases, the mean of the comparison values is remarkably large. We analyze the length of the traces, and one reason behind such large values of TraceDiff is that some variants result from constant inferring. For example, if a loop is replaced by a constant, instead of several symbols in the stack operation trace, we observe one. Consequently, the distance between two program traces is significant.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
In Figure 5.1 we plot the distribution of all comparisons (in logarithmic scale) of all pairs of program/variant in each programs’ population. All compared programs are statically different. Each vertical group of blue dots represents all the pairwise comparison of the traces (Metric 5) for a program of the Rosetta corpus for which we generate variants. Each dot represents a comparison between two programs’ traces according to Metric 5. The programs are sorted by their number of variants in descending order. For the sake of illustration, we filter out those programs for which we generate only 2 unique variants.
TraceDiff
Possible spelling mistake found.
This section is organized as follows. First, we analyze the programs’ populations by comparing the traces for each pair of program/variant with TraceDiff of Metric 5. The pairwise comparison will hint at the results at the population level. We analyze not only the differences of a variant regarding its original program, we also compare the variants against other variants. Second, we do the same pairwise strategy for the execution-time distributions Metric 6, performing a Mann-Withney U test for each pair of program/variant times distribution. Finally, we conclude and answer RQ2.
TraceDiff
Possible spelling mistake found.
We have observed that in the majority of the cases, the mean of the comparison values is remarkably large. We analyze the length of the traces, and one reason behind such large values of TraceDiff is that some variants result from constant inferring. For example, if a loop is replaced by a constant, instead of several symbols in the stack operation trace, we observe one. Consequently, the distance between two program traces is significant.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
In Figure 5.1 we plot the distribution of all comparisons (in logarithmic scale) of all pairs of program/variant in each programs’ population. All compared programs are statically different. Each vertical group of blue dots represents all the pairwise comparison of the traces (Metric 5) for a program of the Rosetta corpus for which we generate variants. Each dot represents a comparison between two programs’ traces according to Metric 5. The programs are sorted by their number of variants in descending order. For the sake of illustration, we filter out those programs for which we generate only 2 unique variants.
TraceDiff
Possible spelling mistake found.
We have observed that in the majority of the cases, the mean of the comparison values is remarkably large. We analyze the length of the traces, and one reason behind such large values of TraceDiff is that some variants result from constant inferring. For example, if a loop is replaced by a constant, instead of several symbols in the stack operation trace, we observe one. Consequently, the distance between two program traces is significant.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
In Figure 5.1 we plot the distribution of all comparisons (in logarithmic scale) of all pairs of program/variant in each programs’ population. All compared programs are statically different. Each vertical group of blue dots represents all the pairwise comparison of the traces (Metric 5) for a program of the Rosetta corpus for which we generate variants. Each dot represents a comparison between two programs’ traces according to Metric 5. The programs are sorted by their number of variants in descending order. For the sake of illustration, we filter out those programs for which we generate only 2 unique variants.
TraceDiff
Possible spelling mistake found.
This section is organized as follows. First, we analyze the programs’ populations by comparing the traces for each pair of program/variant with TraceDiff of Metric 5. The pairwise comparison will hint at the results at the population level. We analyze not only the differences of a variant regarding its original program, we also compare the variants against other variants. Second, we do the same pairwise strategy for the execution-time distributions Metric 6, performing a Mann-Withney U test for each pair of program/variant times distribution. Finally, we conclude and answer RQ2.
TraceDiff
Possible spelling mistake found.
We have observed that in the majority of the cases, the mean of the comparison values is remarkably large. We analyze the length of the traces, and one reason behind such large values of TraceDiff is that some variants result from constant inferring. For example, if a loop is replaced by a constant, instead of several symbols in the stack operation trace, we observe one. Consequently, the distance between two program traces is significant.
pairwise comparison
You used an adverb (‘pairwise’) instead of an adjective, or a noun (‘comparison’) instead of another adjective.
In Figure 5.1 we plot the distribution of all comparisons (in logarithmic scale) of all pairs of program/variant in each programs’ population. All compared programs are statically different. Each vertical group of blue dots represents all the pairwise comparison of the traces (Metric 5) for a program of the Rosetta corpus for which we generate variants. Each dot represents a comparison between two programs’ traces according to Metric 5. The programs are sorted by their number of variants in descending order. For the sake of illustration, we filter out those programs for which we generate only 2 unique variants.
TraceDiff
Possible spelling mistake found.
This section is organized as follows. First, we analyze the programs’ populations by comparing the traces for each pair of program/variant with TraceDiff of Metric 5. The pairwise comparison will hint at the results at the population level. We analyze not only the differences of a variant regarding its original program, we also compare the variants against other variants. Second, we do the same pairwise strategy for the execution-time distributions Metric 6, performing a Mann-Withney U test for each pair of program/variant times distribution. Finally, we conclude and answer RQ2.
i32
This sentence does not start with an uppercase letter.
i32.1t_u local.get 4
ne
Did you mean “né”, “me”, or “no”?
(3) i32.ne (4) local.get 6
le
Possible spelling mistake found.
(1) i32.1t_u (2) i32.le_s
TraceDiff
Possible spelling mistake found.
In some cases, we have observed variants that are statically different for which TraceDiff value is zero, i.e., they result in the same stack operation trace. We identified two main reasons behind this phenomenon. First, the code transformation that generates the variant targets a non-executed or dead code. Second, some variants have two different instructions that trigger the same stack operations. For example, the code replacements below illustrate the case.
ne
Did you mean “né”, “me”, or “no”?
(3) i32.ne (4) local.get 6
le
Possible spelling mistake found.
(1) i32.1t_u (2) i32.le_s
TraceDiff
Possible spelling mistake found.
In some cases, we have observed variants that are statically different for which TraceDiff value is zero, i.e., they result in the same stack operation trace. We identified two main reasons behind this phenomenon. First, the code transformation that generates the variant targets a non-executed or dead code. Second, some variants have two different instructions that trigger the same stack operations. For example, the code replacements below illustrate the case.
i32
This sentence does not start with an uppercase letter.
i32.1t_u local.get 4
ne
Did you mean “né”, “me”, or “no”?
(3) i32.ne (4) local.get 6
le
Possible spelling mistake found.
(1) i32.1t_u (2) i32.le_s
TraceDiff
Possible spelling mistake found.
In some cases, we have observed variants that are statically different for which TraceDiff value is zero, i.e., they result in the same stack operation trace. We identified two main reasons behind this phenomenon. First, the code transformation that generates the variant targets a non-executed or dead code. Second, some variants have two different instructions that trigger the same stack operations. For example, the code replacements below illustrate the case.
i32
This sentence does not start with an uppercase letter.
i32.1t_u local.get 4
le
Possible spelling mistake found.
(1) i32.1t_u (2) i32.le_s
TraceDiff
Possible spelling mistake found.
In some cases, we have observed variants that are statically different for which TraceDiff value is zero, i.e., they result in the same stack operation trace. We identified two main reasons behind this phenomenon. First, the code transformation that generates the variant targets a non-executed or dead code. Second, some variants have two different instructions that trigger the same stack operations. For example, the code replacements below illustrate the case.
i32
This sentence does not start with an uppercase letter.
i32.1t_u local.get 4
ne
Did you mean “né”, “me”, or “no”?
(3) i32.ne (4) local.get 6
TraceDiff
Possible spelling mistake found.
In some cases, we have observed variants that are statically different for which TraceDiff value is zero, i.e., they result in the same stack operation trace. We identified two main reasons behind this phenomenon. First, the code transformation that generates the variant targets a non-executed or dead code. Second, some variants have two different instructions that trigger the same stack operations. For example, the code replacements below illustrate the case.
i32
This sentence does not start with an uppercase letter.
i32.1t_u local.get 4
ne
Did you mean “né”, “me”, or “no”?
(3) i32.ne (4) local.get 6
le
Possible spelling mistake found.
(1) i32.1t_u (2) i32.le_s
i32
This sentence does not start with an uppercase letter.
i32.1t_u local.get 4
ne
Did you mean “né”, “me”, or “no”?
(3) i32.ne (4) local.get 6
le
Possible spelling mistake found.
(1) i32.1t_u (2) i32.le_s
TraceDiff
Possible spelling mistake found.
In some cases, we have observed variants that are statically different for which TraceDiff value is zero, i.e., they result in the same stack operation trace. We identified two main reasons behind this phenomenon. First, the code transformation that generates the variant targets a non-executed or dead code. Second, some variants have two different instructions that trigger the same stack operations. For example, the code replacements below illustrate the case.
i32
This sentence does not start with an uppercase letter.
i32.1t_u local.get 4
ne
Did you mean “né”, “me”, or “no”?
(3) i32.ne (4) local.get 6
le
Possible spelling mistake found.
(1) i32.1t_u (2) i32.le_s
TraceDiff
Possible spelling mistake found.
In some cases, we have observed variants that are statically different for which TraceDiff value is zero, i.e., they result in the same stack operation trace. We identified two main reasons behind this phenomenon. First, the code transformation that generates the variant targets a non-executed or dead code. Second, some variants have two different instructions that trigger the same stack operations. For example, the code replacements below illustrate the case.
Hilber
Possible spelling mistake found.
Figure 5.2: Execution-time distributions for Hilber_curve program and _ its variants. Baseline execution time mean is highlighted with the green horizontal line.
Possible typo: you repeated a whitespace
0.2 5 Time (s)
’
Unpaired symbol: ‘‘’ seems to be missing
To better illustrate the differences between executions times in the variants, we dissect the execution-time distributions for one programs’ population of Rosetta. The plots in Figure 5.2 show the execution-time distributions for the Hilbert curve program and their variants. We illustrate time diversification with this program because, we generate unique variants with all types of transformations previously discussed in Section 5.1. In the plots along the X-axis, each vertical set of points represents the distribution of 100000 execution times per program/variant. The Y-axis represents the execution time value in milliseconds. The original program is highlighted in green color: the distribution of 10000 execution times is given on the left-most part of the plot, and its median execution time is represented as a horizontal dashed line. The median execution time is represented as a blue dot for each execution-time distribution, and the vertical gray lines represent the entire distribution. The bolder gray line represents the 75% interquartile. The program variants are sorted concerning the median execution time in descending order.
Possible typo: you repeated a whitespace
0.2 5 Time (s)
’
Unpaired symbol: ‘‘’ seems to be missing
To better illustrate the differences between executions times in the variants, we dissect the execution-time distributions for one programs’ population of Rosetta. The plots in Figure 5.2 show the execution-time distributions for the Hilbert curve program and their variants. We illustrate time diversification with this program because, we generate unique variants with all types of transformations previously discussed in Section 5.1. In the plots along the X-axis, each vertical set of points represents the distribution of 100000 execution times per program/variant. The Y-axis represents the execution time value in milliseconds. The original program is highlighted in green color: the distribution of 10000 execution times is given on the left-most part of the plot, and its median execution time is represented as a horizontal dashed line. The median execution time is represented as a blue dot for each execution-time distribution, and the vertical gray lines represent the entire distribution. The bolder gray line represents the 75% interquartile. The program variants are sorted concerning the median execution time in descending order.
Hilber
Possible spelling mistake found.
Figure 5.2: Execution-time distributions for Hilber_curve program and _ its variants. Baseline execution time mean is highlighted with the green horizontal line.
Possible typo: you repeated a whitespace
0.2 5 Time (s)
’
Unpaired symbol: ‘‘’ seems to be missing
To better illustrate the differences between executions times in the variants, we dissect the execution-time distributions for one programs’ population of Rosetta. The plots in Figure 5.2 show the execution-time distributions for the Hilbert curve program and their variants. We illustrate time diversification with this program because, we generate unique variants with all types of transformations previously discussed in Section 5.1. In the plots along the X-axis, each vertical set of points represents the distribution of 100000 execution times per program/variant. The Y-axis represents the execution time value in milliseconds. The original program is highlighted in green color: the distribution of 10000 execution times is given on the left-most part of the plot, and its median execution time is represented as a horizontal dashed line. The median execution time is represented as a blue dot for each execution-time distribution, and the vertical gray lines represent the entire distribution. The bolder gray line represents the 75% interquartile. The program variants are sorted concerning the median execution time in descending order.
Hilber
Possible spelling mistake found.
Figure 5.2: Execution-time distributions for Hilber_curve program and _ its variants. Baseline execution time mean is highlighted with the green horizontal line.
’
Unpaired symbol: ‘‘’ seems to be missing
To better illustrate the differences between executions times in the variants, we dissect the execution-time distributions for one programs’ population of Rosetta. The plots in Figure 5.2 show the execution-time distributions for the Hilbert curve program and their variants. We illustrate time diversification with this program because, we generate unique variants with all types of transformations previously discussed in Section 5.1. In the plots along the X-axis, each vertical set of points represents the distribution of 100000 execution times per program/variant. The Y-axis represents the execution time value in milliseconds. The original program is highlighted in green color: the distribution of 10000 execution times is given on the left-most part of the plot, and its median execution time is represented as a horizontal dashed line. The median execution time is represented as a blue dot for each execution-time distribution, and the vertical gray lines represent the entire distribution. The bolder gray line represents the 75% interquartile. The program variants are sorted concerning the median execution time in descending order.
Hilber
Possible spelling mistake found.
Figure 5.2: Execution-time distributions for Hilber_curve program and _ its variants. Baseline execution time mean is highlighted with the green horizontal line.
Possible typo: you repeated a whitespace
0.2 5 Time (s)
’
Unpaired symbol: ‘‘’ seems to be missing
To better illustrate the differences between executions times in the variants, we dissect the execution-time distributions for one programs’ population of Rosetta. The plots in Figure 5.2 show the execution-time distributions for the Hilbert curve program and their variants. We illustrate time diversification with this program because, we generate unique variants with all types of transformations previously discussed in Section 5.1. In the plots along the X-axis, each vertical set of points represents the distribution of 100000 execution times per program/variant. The Y-axis represents the execution time value in milliseconds. The original program is highlighted in green color: the distribution of 10000 execution times is given on the left-most part of the plot, and its median execution time is represented as a horizontal dashed line. The median execution time is represented as a blue dot for each execution-time distribution, and the vertical gray lines represent the entire distribution. The bolder gray line represents the 75% interquartile. The program variants are sorted concerning the median execution time in descending order.
Hilber
Possible spelling mistake found.
Figure 5.2: Execution-time distributions for Hilber_curve program and _ its variants. Baseline execution time mean is highlighted with the green horizontal line.
Possible typo: you repeated a whitespace
0.2 5 Time (s)
Possible typo: you repeated a whitespace
Answer to RQ 2. To what extent are the generated variants dynamically different? We empirically demonstrate that our approach generates program variants for which execution traces are different. We stress the importance of complementing static and dynamic studies of programs variants. For example, if two programs are statically different, that does not necessarily mean different runtime behavior. There is at least one generated variant for all executed programs that provides a different execution trace. We generate variants that exhibit a significant diversity of execution times. Concretely, for 169/239(71%) of the diversified programs, at least one variant has an execution-time distribution that is different compared to the execution-time distribution of the original program. The result from this study encourages the composition of the variants to provide a resilient execution.
Possible typo: you repeated a whitespace
Answer to RQ 2. To what extent are the generated variants dynamically different? We empirically demonstrate that our approach generates program variants for which execution traces are different. We stress the importance of complementing static and dynamic studies of programs variants. For example, if two programs are statically different, that does not necessarily mean different runtime behavior. There is at least one generated variant for all executed programs that provides a different execution trace. We generate variants that exhibit a significant diversity of execution times. Concretely, for 169/239(71%) of the diversified programs, at least one variant has an execution-time distribution that is different compared to the execution-time distribution of the original program. The result from this study encourages the composition of the variants to provide a resilient execution.
Possible typo: you repeated a whitespace
Answer to RQ 2. To what extent are the generated variants dynamically different? We empirically demonstrate that our approach generates program variants for which execution traces are different. We stress the importance of complementing static and dynamic studies of programs variants. For example, if two programs are statically different, that does not necessarily mean different runtime behavior. There is at least one generated variant for all executed programs that provides a different execution trace. We generate variants that exhibit a significant diversity of execution times. Concretely, for 169/239(71%) of the diversified programs, at least one variant has an execution-time distribution that is different compared to the execution-time distribution of the original program. The result from this study encourages the composition of the variants to provide a resilient execution.
Possible typo: you repeated a whitespace
Answer to RQ 2. To what extent are the generated variants dynamically different? We empirically demonstrate that our approach generates program variants for which execution traces are different. We stress the importance of complementing static and dynamic studies of programs variants. For example, if two programs are statically different, that does not necessarily mean different runtime behavior. There is at least one generated variant for all executed programs that provides a different execution trace. We generate variants that exhibit a significant diversity of execution times. Concretely, for 169/239(71%) of the diversified programs, at least one variant has an execution-time distribution that is different compared to the execution-time distribution of the original program. The result from this study encourages the composition of the variants to provide a resilient execution.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
quantile- quantile
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure 5.3: Execution-time distributions. Each subplot represents the quantile- quantile plot of the two distributions, original and multivariant binary.
Possible typo: you repeated a whitespace
24 0-4 -25 25 0 4
encrypt
This sentence does not start with an uppercase letter.
encrypt e
corpora
This sentence does not start with an uppercase letter.
corpora.
production- based
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Our last and third research question evaluates the impact of providing a worldwide MVE for Wasm. We use MEWE to build multivariant binaries for the program variants generated for Libsodium and QrCode corpora. We collect their execution times by deploying the generated multivariant binaries in a production- based edge-cloud platform. The addition of runtime path randomization to multivariant binaries provides significant differences between the execution of the original binary and the multivariant binary. The observed differences lead us to conclude that no specific variant can be inferred from studying the execution time of the multivariant binaries. Therefore, attacks that rely on measuring precise execution times are more challenging to conduct.
corpora
This sentence does not start with an uppercase letter.
corpora.
production- based
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Our last and third research question evaluates the impact of providing a worldwide MVE for Wasm. We use MEWE to build multivariant binaries for the program variants generated for Libsodium and QrCode corpora. We collect their execution times by deploying the generated multivariant binaries in a production- based edge-cloud platform. The addition of runtime path randomization to multivariant binaries provides significant differences between the execution of the original binary and the multivariant binary. The observed differences lead us to conclude that no specific variant can be inferred from studying the execution time of the multivariant binaries. Therefore, attacks that rely on measuring precise execution times are more challenging to conduct.
production- based
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Our last and third research question evaluates the impact of providing a worldwide MVE for Wasm. We use MEWE to build multivariant binaries for the program variants generated for Libsodium and QrCode corpora. We collect their execution times by deploying the generated multivariant binaries in a production- based edge-cloud platform. The addition of runtime path randomization to multivariant binaries provides significant differences between the execution of the original binary and the multivariant binary. The observed differences lead us to conclude that no specific variant can be inferred from studying the execution time of the multivariant binaries. Therefore, attacks that rely on measuring precise execution times are more challenging to conduct.
corpora
This sentence does not start with an uppercase letter.
corpora.
production- based
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Our last and third research question evaluates the impact of providing a worldwide MVE for Wasm. We use MEWE to build multivariant binaries for the program variants generated for Libsodium and QrCode corpora. We collect their execution times by deploying the generated multivariant binaries in a production- based edge-cloud platform. The addition of runtime path randomization to multivariant binaries provides significant differences between the execution of the original binary and the multivariant binary. The observed differences lead us to conclude that no specific variant can be inferred from studying the execution time of the multivariant binaries. Therefore, attacks that rely on measuring precise execution times are more challenging to conduct.
corpora
This sentence does not start with an uppercase letter.
corpora.
inlined
Possible spelling mistake found.
CROW and MEWE: Along with this dissertation, we highlighted challenges and limitations. In all cases, we proposed solutions, yet, some of them could be explored more in-depth. As we mentioned in Section 5.1 our solution provides program variants but remarkably lower unique variants as a consequence of the replacement combining process of CROW (Section 3.2). Techniques relying on intelligent heuristics could help increase the generation of unique variants by early discarding unsound combinations. On the other hand, constant inferring does not always finish in a successful replacement due to the CROW’s obliviousness to some computation models, such as memory operations. A solution could also be to use heuristics to select which part of the code is more probable to become a constant inferred assignment. On the other hand, MEWE introduces overhead during the execution of the multivariant binaries. We identified the dispatcher calling the function variants as the main reason. Each time a new variant executes, it involves the introduction of a new function call through the dispatcher. Our variants are artificially created. Thus, their bodies could be directly inlined in the dispatcher’s body. This means that we can reduce the number of function calls by inlining the variant. Nevertheless, a deeper study on the security consequences is needed.
inlined
Possible spelling mistake found.
CROW and MEWE: Along with this dissertation, we highlighted challenges and limitations. In all cases, we proposed solutions, yet, some of them could be explored more in-depth. As we mentioned in Section 5.1 our solution provides program variants but remarkably lower unique variants as a consequence of the replacement combining process of CROW (Section 3.2). Techniques relying on intelligent heuristics could help increase the generation of unique variants by early discarding unsound combinations. On the other hand, constant inferring does not always finish in a successful replacement due to the CROW’s obliviousness to some computation models, such as memory operations. A solution could also be to use heuristics to select which part of the code is more probable to become a constant inferred assignment. On the other hand, MEWE introduces overhead during the execution of the multivariant binaries. We identified the dispatcher calling the function variants as the main reason. Each time a new variant executes, it involves the introduction of a new function call through the dispatcher. Our variants are artificially created. Thus, their bodies could be directly inlined in the dispatcher’s body. This means that we can reduce the number of function calls by inlining the variant. Nevertheless, a deeper study on the security consequences is needed.
inlined
Possible spelling mistake found.
CROW and MEWE: Along with this dissertation, we highlighted challenges and limitations. In all cases, we proposed solutions, yet, some of them could be explored more in-depth. As we mentioned in Section 5.1 our solution provides program variants but remarkably lower unique variants as a consequence of the replacement combining process of CROW (Section 3.2). Techniques relying on intelligent heuristics could help increase the generation of unique variants by early discarding unsound combinations. On the other hand, constant inferring does not always finish in a successful replacement due to the CROW’s obliviousness to some computation models, such as memory operations. A solution could also be to use heuristics to select which part of the code is more probable to become a constant inferred assignment. On the other hand, MEWE introduces overhead during the execution of the multivariant binaries. We identified the dispatcher calling the function variants as the main reason. Each time a new variant executes, it involves the introduction of a new function call through the dispatcher. Our variants are artificially created. Thus, their bodies could be directly inlined in the dispatcher’s body. This means that we can reduce the number of function calls by inlining the variant. Nevertheless, a deeper study on the security consequences is needed.
crypto-malwares
Possible spelling mistake found.
Obfuscation, data augmentation and malware classification: Wasm is extensively used for cryptocurrency mining. Sometimes the crypto-mining is done without the consent of users, creating what is called crypto-malwares [11]. Antivirus software could detect them. However, a recent work [4] shows that malware classifiers could be bypassed with the correct obfuscation technique. Our diversification approach could be used to increase resilience in malware classifiers by training them with augmented datasets on semantically equivalent malwares. On the other hand, superoptimization can be used to build a canonical code representation of a variant’s population. Therefore, if a classifier uses a canonical representation, then malware obfuscation could be mitigated.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Lee,S
The word ‘Lee,S’ is not standard English. Did you mean “Lee’S” (curly apostrophe) or “Lee'S” (straight apostrophe)?
[8] Lee,S., Kang,H., Jang,J., and Kang,B. B. (2021). Savior: Thwarting stack-based memory safety violations by randomizing stack layout. [EEE Transactions on Dependable and Secure Computing.
[
Unpaired symbol: ‘]’ seems to be missing
[7| Narayan,S., Disselkoen,C., Moghimi,D., Cauligi,S., Johnson,E., Gang,Z., Vahldiek-Oberwagner,A., Sahita,R., Shacham,H., Tullsen,D., et al. (2021). Swivel: Hardening webassembly against spectre. In USENIX Security Symposium.
,B
Put a space after the comma.
[6] Spies,B. and Mock,M. (2021). An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), pages 1-10.
Voulimeneas
Possible spelling mistake found.
[5] Voulimeneas,A., Song,D., Larsen,P., Franz,M., and Volckaert,S. (2021). dmvx: Secure and efficient multi-variant execution in a distributed setting. In Proceedings of the 14th European Workshop on Systems Security, pages 41-47.
Bhansali
Possible spelling mistake found.
[4] Bhansali,S., Aris,A., Acar,A., Oz,H., and Uluagac,A. S. (2022). A first look at code obfuscation for webassembly. In Proceedings of the 15th ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec ’22, page 140-145, New York, NY, USA. Association for Computing Machinery.
Harrand
Possible spelling mistake found.
[3] Harrand,N. (2022). Software Diversity for Third-Party Dependencies. PhD thesis, KTH, Software and Computer systems, SCS. QCR 20220413.
[
Unpaired symbol: ‘]’ seems to be missing
[2} Romano,A., Lehmann,D., Pradel,M., and Wang,W. (2022). Wobfuscator: Obfuscating javascript malware via opportunistic translation to webassembly. In 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), pages 1101-— 1116, Los Alamitos, CA, USA. IEEE Computer Society.
Stiévenart
Possible spelling mistake found.
[1] Stiévenart,Q., De Roover,C., and Ghafari,M. (2022). Security risks of porting c programs to webassembly. In Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC ’22, page 1713-1722, New York, NY, USA. Association for Computing Machinery.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
Ko
Possible spelling mistake found.
[9] Ko,Y., Rezk,T., and Serrano,M. (2021). Securejs compiler: Portable memory isolation in javascript. In Proceedings of the 386th Annual ACM Symposium on Applied Computing, SAC ’21, page 1265-1274, New York, NY, USA. Association for Computing Machinery.
Shillaker
Possible spelling mistake found.
[21] Shillaker,S. and Pietzuch,P. (2020). Faasm: Lightweight isolation for efficient stateful serverless computing. In USENIX Annual Technical Conference, pages 419-433.
,R
Put a space after the comma.
[20] Tsoupidi,R. M., Lozano,R. C., and Baudry,B. (2020). Constraint-based software diversification for efficient mitigation of code-reuse attacks. ArXiv, abs /2007.08955.
,E
Put a space after the comma.
[19] Wen,E. and Weber,G. (2020). Wasmachine: Bring iot up to speed with a webassembly os. In 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pages 1-4. IEEE.
Xu
Possible spelling mistake found.
[18] Xu,Y., Solihin,Y., and Shen,X. (2020). Merr: Improving security of persistent memory objects via efficient memory exposure reduction and randomization. In Proc. of ASPLOS, pages 987-1000.
ompiler-bug-before-it-became-a-problem
Possible spelling mistake found.
[16] (2021). Stop a wasm compiler bug before it becomes a problem | fastly. https://www.fastly.com/blog/defense-in-depth-stopping-a-wasm-c ompiler-bug-before-it-became-a-problem.
https
This sentence does not start with an uppercase letter.
[15] (2021). Webassembly system interface. https: //github.com/WebAssembly /WAST.
Arteaga
Possible spelling mistake found.
[14] Cabrera Arteaga,J., Floros,O., Vera Perez,O., Baudry,B., and Monperrus,M. (2021). Crow: code diversification for webassembly. In MADWeb, NDSS 2021.
Arteaga
Possible spelling mistake found.
[13] Cabrera Arteaga,J., Laperdrix,P., Monperrus,M., and Baudry,B. (2021). Multi-Variant Execution at the Edge. arXiv e-prints, page arXiv:2108.08125.
Garcés
Possible spelling mistake found.
[12] Garcés,L., Martinez-Ferndndez,S., Oliveira,L., Valle,P., Ayala,C., Franch,X., and Nakagawa,E. Y. (2021). Three decades of software reference architectures: A systematic mapping study. Journal of Systems and Software, 179:111004.
Hilbig
Possible spelling mistake found.
[11] Hilbig,A., Lehmann,D., and Pradel,M. (2021). An empirical study of real- world webassembly binaries: Security, languages, use cases. Proceedings of the Web Conference 2021.
,E
Put a space after the comma.
[10] Johnson,E., Thien,D., Alhessi,Y., Narayan,S., Brown,F., Lerner,S., McMullen,T., Savage,S., and Stefan,D. (2021). Sfi safety for native-compiled wasm. NDSS. Internet Society.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Runeson
Possible spelling mistake found.
[22] Runeson,P., Engstrém,E., and Storey,M.-A. (2020). The Design Science Paradigm as a Frame for Empirical Software Engineering, pages 127-147. Springer International Publishing, Cham.
Arteaga
Possible spelling mistake found.
[33] Cabrera Arteaga,J., Monperrus,M., and Baudry,B. (2019). Scalable comparison of javascript v8 bytecode traces. In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019, page 22-31, New York, NY, USA. Association for Computing Machinery.
,B
Put a space after the comma.
[32] Churchill,B., Padon,O., Sharma,R., and Aiken,A. (2019). Semantic program alignment for equivalence checking. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, page 1027-1040, New York, NY, USA. Association for Computing Machinery.
Gurdeep
Possible spelling mistake found.
[31] Gurdeep Singh,R. and Scholliers,C. (2019). Warduino: A dynamic webassembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2019, pages 27-36, New York, NY, USA. ACM.
Osterlund
Possible spelling mistake found.
[30] Osterlund,S., Koning,K., Olivier,P., Barbalace,A., Bos,H., and Giuffrida,C. (2019). kmvx: Detecting kernel information leaks with multi-variant execution. In ASPLOS.
Bryant,D
The word ‘Bryant,D’ is not standard English. Did you mean “Bryant’D” (curly apostrophe) or “Bryant'D” (straight apostrophe)?
[29] Bryant,D. (2020). Webassembly outside the browser: A new foundation for pervasive computing. In Proc. of ICWE 2020, pages 9-12.
Arteaga
Possible spelling mistake found.
[28] Cabrera Arteaga,J., Donde,S., Gu,J., Floros,O., Satabin,L., Baudry,B., and Monperrus,M. (2020). Superoptimization of WebAssembly Bytecode, page 36-40. Association for Computing Machinery, New York, NY, USA.
Chen,D
The word ‘Chen,D’ is not standard English. Did you mean “Chen’D” (curly apostrophe) or “Chen'D” (straight apostrophe)?
[27] Chen,D. and W3C group (2020). WebAssembly documentation: Security. https: //webassembly.org/docs/security/. Accessed: 18 June 2020.
Gadepalli
Possible spelling mistake found.
[26] Gadepalli,P. K., McBride,S., Peach,G., Cherkasova,L., and Parmer,G. (2020). Sledge: A serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference, page 265-279.
Harrand
Possible spelling mistake found.
[25] Harrand,N., Soto-Valero,C., Monperrus,M., and Baudry,B. (2020). Java decompiler diversity and its application to meta-decompilation. Journal of Systems and Software, 168:110645.
Lehmann,D
The word ‘Lehmann,D’ is not standard English. Did you mean “Lehmann’D” (curly apostrophe) or “Lehmann'D” (straight apostrophe)?
[24] Lehmann,D., Kinder,J., and Pradel,M. (2020). Everything old is new again: Binary security of webassembly. In 29th USENIX Security Symposium (USENIX Security 20). USENIX Association.
Mendki
Possible spelling mistake found.
[23] Mendki,P. (2020). Evaluating webassembly enabled serverless approach for edge computing. In 2020 IEEE Cloud Summit, pages 161-166.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
,N
Put a space after the comma.
[48] Van Es,N., Nicolay,J., Stievenart,Q., D’Hondt,T., and De Roover,C. (2016). A performant scheme interpreter in asm.js. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC ’16, page 1944-1951, New York, NY, USA. Association for Computing Machinery.
,A
Put a space after the comma.
[47] Haas,A., Rossberg,A., Schuff,D. L., Schuff,D. L., Titzer,B. L., Holman,M., Gohman,D., Wagner,L., Zakai,A., and Bastien,J. F. (2017). Bringing the web up to speed with webassembly. PLDI.
https
This sentence does not start with an uppercase letter.
[46] Oracle (2017). JDK 9 Release Notes. Deprecation of Java Applets. https: //ww w.oracle.com/java/technologies/javase/9-deprecated-features. html.
Sasnauskas
Possible spelling mistake found.
[45] Sasnauskas,R., Chen, Y., Collingbourne,P., Ketema,J., Lup,G., Taneja,J., and Regehr,J. (2017). Souper: A Synthesizing Superoptimizer. arXiv preprint 1711.04422.
https
This sentence does not start with an uppercase letter.
[44] WebAssembly Community Group (2017). WebAssembly Specification. https: //webassembly.github.io/spec/core/syntax/index.html.
Zalewski
Possible spelling mistake found.
[43] Zalewski,M. (2017). American fuzzy lop.
,N
Put a space after the comma.
[42] Belleville,N., Couroussé,D., Heydemann,K., and Charles,H.-P. (2018). Automated software protection for the masses against side-channel attacks. ACM Trans. Archit. Code Optim., 15(4).
Genkin
Possible spelling mistake found.
[41] Genkin,D., Pachmanov,L., Tromer,E., and Yarom,Y. (2018). Drive-by key- extraction cache attacks from portable code. JACR Cryptol. ePrint Arch., 2018:119.
,P
Put a space after the comma.
[40] Hickey,P. (2018). Announcing lucet: Fastly’s native webassembly compiler and runtime. Technical report.
Jacobsson
Possible spelling mistake found.
[39] Jacobsson,M. and Wahslén,J. (2018). Virtual machine execution for wearables based on webassembly. In EAI International Conference on Body Area Networks, pages 381-389. Springer, Cham.
,J
Put a space after the comma.
[38] Li,J., Zhao,B., and Zhang,C. (2018). Fuzzing: a survey. Cybersecurity, 1(1):1- 13.
,K
Put a space after the comma.
[37] Lu,K., Xu,M., Song,C., Kim,T., and Lee,W. (2018). Stopping memory disclosures via diversification and replicated execution. [KEE Transactions on Dependable and Secure Computing.
Varda
Possible spelling mistake found.
[36] Varda,K. (2018). Webassembly on cloudflare workers. Technical report.
Aga,M
The word ‘Aga,M’ is not standard English. Did you mean “Aga’M” (curly apostrophe) or “Aga'M” (straight apostrophe)?
[35] Aga,M. T. and Austin,T. (2019). Smokestack: thwarting dop attacks with runtime stack layout randomization. In Proc. of CGO, pages 26-36.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Phothilimthana
Possible spelling mistake found.
[49] Phothilimthana,P. M., Thakur,A., Bodik,R., and Dhurjati,D. (2016). Scaling up superoptimization. SIGARCH Comput. Archit. News, 44(2):297-310.
Mulazzani
Possible spelling mistake found.
[61] Mulazzani,M., Reschl,P., Huber,M., Leithner,M., Schrittwieser,S., Weippl,E., and Wien,F. (2013). Fast and reliable browser identification with javascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP), volume 5, page 4. Citeseer.
Okhravi
Possible spelling mistake found.
[60] Okhravi,H., Rabe,M., Mayberry,T., Leonard,W., Hobson,T., Bigelow,D., and Streilein,W. (2013). Survey of cyber moving targets. Massachusetts Inst of Technology Lexington Lincoln Lab, No. MIT/LL-TR-1166.
,V
Put a space after the comma.
[59] Le,V., Afshari,M., and Su,Z. (2014). Compiler validation via equivalence modulo inputs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, page 216-226.
Zakai
Possible spelling mistake found.
[58] Zakai and colleagues (2014a). asm.js. http://asmjs.org/spec/latest/.
Zakai
Possible spelling mistake found.
[57] Zakai and colleagues (2014b). Emscripten. https: //emscripten.org/.
Agosta
Possible spelling mistake found.
[56] Agosta,G., Barenghi,A., Pelosi,G., and Scandale,M. (2015). The MEET approach: Securing cryptographic embedded software against side channel attacks. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34(8):1320-1333.
Alon
Possible spelling mistake found.
[55] Alon Zakai (2015). asm.js Speedups Everywhere. https://hacks.mozilla. org/2015/03/asm-speedups-everywhere/.
,B
Put a space after the comma.
[54] Baudry,B. and Monperrus,M. (2015). The multiple facets of software diversity: Recent developments in year 2000 and beyond. ACM Comput. Surv., 48(1).
Crane,S
The word ‘Crane,S’ is not standard English. Did you mean “Crane’S” (curly apostrophe) or “Crane'S” (straight apostrophe)?
[53] Crane,S., Homescu,A., Brunthaler,S., Larsen,P., and Franz,M. (2015). Thwarting cache side-channel attacks through dynamic software diversity. In NDSS, pages 8-11.
Davi
Possible spelling mistake found.
[52] Davi,L., Liebchen,C., Sadeghi,A.-R., Snow,K. Z., and Monrose,F. (2015). Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In NDSS.
Morgan,T
The word ‘Morgan,T’ is not standard English. Did you mean “Morgan’T” (curly apostrophe) or “Morgan'T” (straight apostrophe)?
[51] Morgan,T. D. and Morgan,J. W. (2015). Web timing attacks made practical. Black Hat.
Couroussé
Possible spelling mistake found.
[50] Couroussé,D., Barry,T., Robisson,B., Jaillon,P., Potin,O., and Lanet,J.-L. (2016). Runtime code polymorphism as a protection against side channel attacks. In IFIP International Conference on Information Security Theory and Practice, pages 136-152. Springer.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
,A
Put a space after the comma.
[62] Homescu,A., Neisius,S., Larsen,P., Brunthaler,S., and Franz,M. (2013). Profile- guided automated software diversity. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pages 1-11. IEEE.
Maia,M
The word ‘Maia,M’ is not standard English. Did you mean “Maia’M” (curly apostrophe) or “Maia'M” (straight apostrophe)?
[72] Maia,M. D. A., Sobreira,V., Paixao,K. R., Amo,R. A. D., and Silva,I. R. (2008). Using a sequence alignment algorithm to identify specific and common code from execution traces. In Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA, pages 6-10.
Lala
Possible spelling mistake found.
[71] Lala,J. H. and Schneider,F. B. (2009). It monoculture security risks and defenses. IEEE Security & Privacy, 7(1):12-13.
Salamat
Possible spelling mistake found.
[70] Salamat,B., Jackson,T., Gal,A., and Franz,M. (2009). Orchestra: intrusion detection using parallel execution and monitoring of program variants in user- space. In Proceedings of the 4th ACM European conference on Computer systems, pages 33-46.
Chen,T
The word ‘Chen,T’ is not standard English. Did you mean “Chen’T” (curly apostrophe) or “Chen'T” (straight apostrophe)?
[69] Chen,T. Y., Kuo,F.-C., Merkel,R. G., and Tse,T. H. (2010). Adaptive random testing: The art of test case diversity. J. Syst. Softw., 83:60-66.
Guha
Possible spelling mistake found.
[68] Guha,A., Saftoiu,C., and Krishnamurthi,S. (2010). The essence of javascript. In D’Hondt,T., editor, ECOOP 2010 — Object-Oriented Programming, pages 126— 150, Berlin, Heidelberg. Springer Berlin Heidelberg.
Amarilli
Possible spelling mistake found.
[67] Amarilli,A., Miiller,S., Naccache,D., Page,D., Rauzy,P., and Tunstall,M. (2011). Can code polymorphism limit information leakage? In IFIP International Workshop on Information Security Theory and Practices, pages 1-21. Springer.
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[66] Jackson,T., Salamat,B., Homescu,A., Manivannan,K., Wagner,G., Gal,A., Brunthaler,S., Wimmer,C., and Franz,M. (2011). Compiler-generated software diversity. In Moving Target Defense, pages 77-98. Springer.
Sidiroglou-Douskos
Possible spelling mistake found.
[65] Sidiroglou-Douskos,S., Misailovic,S., Hoffmann,H., and Rinard,M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 711, page 124-134, New York, NY, USA. Association for Computing Machinery.
,J
Put a space after the comma.
[64] Cleemput,J. V., Coppens,B., and De Sutter,B. (2012). Compiler mitigations for time attacks on modern x86 processors. ACM Trans. Archit. Code Optim., 8(4).
Jackson,T
The word ‘Jackson,T’ is not standard English. Did you mean “Jackson’T” (curly apostrophe) or “Jackson'T” (straight apostrophe)?
[63] Jackson,T. (2012). On the Design, Implications, and Effects of Implementing Software Diversity for Security. PhD thesis, University of California, Irvine.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Jacob,M
The word ‘Jacob,M’ is not standard English. Did you mean “Jacob’M” (curly apostrophe) or “Jacob'M” (straight apostrophe)?
[73] Jacob,M., Jakubowski,M. H., Naldurg,P., Saw,C. W. N., and Venkatesan,R. (2008). The superdiversifier: Peephole individualization for software protection. In International Workshop on Security, pages 100-120. Springer.
,R
Put a space after the comma.
[84] El-Khalil,R. and Keromytis,A. D. (2004). Hydan: Hiding information in program binaries. In Lopez,J., Qing,S., and Okamoto,E., editors, Information and Communications Security, pages 187-199, Berlin, Heidelberg. Springer Berlin Heidelberg.
,S
Put a space after the comma.
[83] Bhatkar,S., Sekar,R., and DuVarney,D. C. (2005). Efficient techniques for comprehensive protection from memory error exploits. In Proceedings of the USENIX Security Symposium, pages 271-286.
Grosskurth
Possible spelling mistake found.
[82] Grosskurth,A. and Godfrey,M. W. (2005). A reference architecture for web browsers. In 21st IEEE International Conference on Software Maintenance (ICSM’05), pages 661-664. IEEE.
Pohl
Possible spelling mistake found.
[81] Pohl,K., Béckle,G., and Van Der Linden,F. (2005). Software product line engineering: foundations, principles, and techniques, volume 1. Springer.
,B
Put a space after the comma.
[80] Cox,B., Evans,D., Filipi,A., Rowanhill,J., Hu,W., Davidson,J., Knight,J., Nguyen-Tuong,A., and Hiser,J. (2006). N-variant systems: a secretless framework for security through diversity. In Proc. of USENIX Security Symposium, USENIX-SS’06.
Younan
Possible spelling mistake found.
[79] Younan,Y., Pozza,D., Piessens,F., and Joosen,W. (2006). Extended protection against stack smashing attacks without performance loss. In 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), pages 429-438.
Bruschi
Possible spelling mistake found.
[78] Bruschi,D., Cavallaro,L., and Lanzi,A. (2007). Diversified process replicze for defeating memory error exploits. In Proc. of the Int. Performance, Computing, and Communications Conference.
Silverlight
Possible spelling mistake found.
[77] Microsoft (2007). Silverlight. https://www.microsoft.com/silverlight/.
Salamat
Possible spelling mistake found.
[76] Salamat,B., Gal,A., Jackson,T., Manivannan,K., Wagner,G., and Franz,M. (2007). Stopping buffer overflow attacks at run-time: Simultaneous multi-variant program execution on a multicore processor. Technical report, Technical Report 07-13, School of Information and Computer Sciences, UCIrvine.
Yu
Possible spelling mistake found.
[75] Yu,D., Chander,A., Islam,N., and Serikov,I. (2007). Javascript instrumentation for browser security. In Proceedings of the 84th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, page 237-249, New York, NY, USA. Association for Computing Machinery.
Moura
Possible spelling mistake found.
[74] de Moura,L. and Bjgrner,N. (2008). Z3: An efficient smt solver. In Ramakrishnan,C. R. and Rehof,J., editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 337-340, Berlin, Heidelberg. Springer Berlin Heidelberg.
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
,B
Put a space after the comma.
[98] Ryder,B. G. (1979). Constructing the call graph of a program. Transactions on Software Engineering, (3):216—226. IEEE
Avizienis
Possible spelling mistake found.
[97] Avizienis and Kelly (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(8):67—-80.
Henry,M
The word ‘Henry,M’ is not standard English. Did you mean “Henry’M” (curly apostrophe) or “Henry'M” (straight apostrophe)?
[96] Henry,M. (1987). Superoptimizer: a look at the smallest program. ACM SIGARCH Computer Architecture News, 15(5):122-126.
Pettis
Possible spelling mistake found.
[95] Pettis,K. and Hansen,R. C. (1990). Profile guided code positioning. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI ’90, page 16-27, New York, NY, USA. Association for Computing Machinery.
WorldWideWeb
Possible spelling mistake found.
[94] Tim Berners-Lee (1990). The WorldWideWeb browser. https: //www.w3.org /People/Berners-Lee/WorldWideWeb. html.
,F
Put a space after the comma.
[93] Cohen,F. B. (1993). Operating system protection through program evolution. Computers & Security, 12(6):565-584.
https
This sentence does not start with an uppercase letter.
[92] Microsoft (1996). Microsoft Announces ActiveX Technologies. https: //web.archive.org/web/20090828024117/http://www.microsoft.com/ presspass/press/1996/mar96/activxpr.mspx.
Forrest,S
The word ‘Forrest,S’ is not standard English. Did you mean “Forrest’S” (curly apostrophe) or “Forrest'S” (straight apostrophe)?
[91] Forrest,S., Somayaji,A., and Ackley,D. (1997). Building diverse computer systems. In Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133), pages 67-72.
Chew,M
The word ‘Chew,M’ is not standard English. Did you mean “Chew’M” (curly apostrophe) or “Chew'M” (straight apostrophe)?
[90] Chew,M. and Song,D. (2002). Mitigating buffer overflows by operating system randomization. Technical Report CS-02-197, Carnegie Mellon University.
,E
Put a space after the comma.
[89] Barrantes,E. G., Ackley,D. H., Forrest,S., Palmer,T. S., Stefanovic,D., and Zovi,D. D. (2003). Randomized instruction set emulation to disrupt binary code injection attacks. In Proc. CCS, pages 281-289.
,S
Put a space after the comma.
[88] Bhatkar,S., DuVarney,D. C., and Sekar,R. (2003). Address obfuscation: an efficient approach to combat a board range of memory error exploits. In Proceedings of the USENIX Security Symposium.
,G
Put a space after the comma.
[87] Goth,G. (2003). 1(06):8-10. Addressing the monoculture. IEEE Security & Privacy,
Kce
Possible spelling mistake found.
[86] Kce,G. S., Keromytis,A. D., and Prevelakis,V. (2003). Countering code- injection attacks with instruction-set randomization. In Proc. of CCS, pages 272-280.
,H
Put a space after the comma.
[101] Mann,H. B. and Whitney,D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Statist., 18(1):50-60.
Gnanadesikan
Possible spelling mistake found.
[100] Gnanadesikan,R. and Wilk,M. B. (1968). Probability plotting methods for the analysis of data. Biometrika, 55(1):1-17.
Needleman
Possible spelling mistake found.
[99] Needleman,S. B. and Wunsch,C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. 48(3):443—453.
stable- diffusion
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure for thesis cover: The cover image was partially generated with the stable- diffusion project https: //github.com/CompVis/stable-diffusion. When we pass our abstract to the model along with the WebAssembly logo, this image is what we get.
Cox,M
The word ‘Cox,M’ is not standard English. Did you mean “Cox’M” (curly apostrophe) or “Cox'M” (straight apostrophe)?
[102] Cox,M. R. (1893). Cinderella: Three hundred and forty-five variants of Cinderella, Catskin, and Cap o’Rushes. Number 31. Folk-lore Society.
Gnanadesikan
Possible spelling mistake found.
[100] Gnanadesikan,R. and Wilk,M. B. (1968). Probability plotting methods for the analysis of data. Biometrika, 55(1):1-17.
Needleman
Possible spelling mistake found.
[99] Needleman,S. B. and Wunsch,C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. 48(3):443—453.
stable- diffusion
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure for thesis cover: The cover image was partially generated with the stable- diffusion project https: //github.com/CompVis/stable-diffusion. When we pass our abstract to the model along with the WebAssembly logo, this image is what we get.
Cox,M
The word ‘Cox,M’ is not standard English. Did you mean “Cox’M” (curly apostrophe) or “Cox'M” (straight apostrophe)?
[102] Cox,M. R. (1893). Cinderella: Three hundred and forty-five variants of Cinderella, Catskin, and Cap o’Rushes. Number 31. Folk-lore Society.
,H
Put a space after the comma.
[101] Mann,H. B. and Whitney,D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Statist., 18(1):50-60.
Needleman
Possible spelling mistake found.
[99] Needleman,S. B. and Wunsch,C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. 48(3):443—453.
stable- diffusion
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure for thesis cover: The cover image was partially generated with the stable- diffusion project https: //github.com/CompVis/stable-diffusion. When we pass our abstract to the model along with the WebAssembly logo, this image is what we get.
Cox,M
The word ‘Cox,M’ is not standard English. Did you mean “Cox’M” (curly apostrophe) or “Cox'M” (straight apostrophe)?
[102] Cox,M. R. (1893). Cinderella: Three hundred and forty-five variants of Cinderella, Catskin, and Cap o’Rushes. Number 31. Folk-lore Society.
,H
Put a space after the comma.
[101] Mann,H. B. and Whitney,D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Statist., 18(1):50-60.
Gnanadesikan
Possible spelling mistake found.
[100] Gnanadesikan,R. and Wilk,M. B. (1968). Probability plotting methods for the analysis of data. Biometrika, 55(1):1-17.
stable- diffusion
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure for thesis cover: The cover image was partially generated with the stable- diffusion project https: //github.com/CompVis/stable-diffusion. When we pass our abstract to the model along with the WebAssembly logo, this image is what we get.
Cox,M
The word ‘Cox,M’ is not standard English. Did you mean “Cox’M” (curly apostrophe) or “Cox'M” (straight apostrophe)?
[102] Cox,M. R. (1893). Cinderella: Three hundred and forty-five variants of Cinderella, Catskin, and Cap o’Rushes. Number 31. Folk-lore Society.
,H
Put a space after the comma.
[101] Mann,H. B. and Whitney,D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Statist., 18(1):50-60.
Gnanadesikan
Possible spelling mistake found.
[100] Gnanadesikan,R. and Wilk,M. B. (1968). Probability plotting methods for the analysis of data. Biometrika, 55(1):1-17.
Needleman
Possible spelling mistake found.
[99] Needleman,S. B. and Wunsch,C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. 48(3):443—453.
Cox,M
The word ‘Cox,M’ is not standard English. Did you mean “Cox’M” (curly apostrophe) or “Cox'M” (straight apostrophe)?
[102] Cox,M. R. (1893). Cinderella: Three hundred and forty-five variants of Cinderella, Catskin, and Cap o’Rushes. Number 31. Folk-lore Society.
,H
Put a space after the comma.
[101] Mann,H. B. and Whitney,D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Statist., 18(1):50-60.
Gnanadesikan
Possible spelling mistake found.
[100] Gnanadesikan,R. and Wilk,M. B. (1968). Probability plotting methods for the analysis of data. Biometrika, 55(1):1-17.
Needleman
Possible spelling mistake found.
[99] Needleman,S. B. and Wunsch,C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. 48(3):443—453.
stable- diffusion
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure for thesis cover: The cover image was partially generated with the stable- diffusion project https: //github.com/CompVis/stable-diffusion. When we pass our abstract to the model along with the WebAssembly logo, this image is what we get.
Cox,M
The word ‘Cox,M’ is not standard English. Did you mean “Cox’M” (curly apostrophe) or “Cox'M” (straight apostrophe)?
[102] Cox,M. R. (1893). Cinderella: Three hundred and forty-five variants of Cinderella, Catskin, and Cap o’Rushes. Number 31. Folk-lore Society.
,H
Put a space after the comma.
[101] Mann,H. B. and Whitney,D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Statist., 18(1):50-60.
Gnanadesikan
Possible spelling mistake found.
[100] Gnanadesikan,R. and Wilk,M. B. (1968). Probability plotting methods for the analysis of data. Biometrika, 55(1):1-17.
Needleman
Possible spelling mistake found.
[99] Needleman,S. B. and Wunsch,C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. 48(3):443—453.
stable- diffusion
This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.
Figure for thesis cover: The cover image was partially generated with the stable- diffusion project https: //github.com/CompVis/stable-diffusion. When we pass our abstract to the model along with the WebAssembly logo, this image is what we get.
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Shrinish Donde, Jian Gu, Orestis Floros, Lucas Satabin, Benoit Baudry, Martin Monperrus Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (Programming 2021), MoreVMs
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.14722/madweb. 2021 .23004
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.14722/madweb. 2021 .23004
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.14722/madweb. 2021 .23004
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.14722/madweb. 2021 .23004
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Orestis Floros, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus Network and Distributed System Security Symposium (NDSS 2021), MADWeb
Arteaga
Possible spelling mistake found.
Javier Cabrera- Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Preprint version
preprint
This sentence does not start with an uppercase letter.
preprint link https://ui.adsabs.harvard.edu/abs/2021arXiv210808125C
Arteaga
Possible spelling mistake found.
Javier Cabrera- Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Preprint version
preprint
This sentence does not start with an uppercase letter.
preprint link https://ui.adsabs.harvard.edu/abs/2021arXiv210808125C
preprint
This sentence does not start with an uppercase letter.
preprint link https://ui.adsabs.harvard.edu/abs/2021arXiv210808125C
Arteaga
Possible spelling mistake found.
Javier Cabrera- Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Preprint version
preprint
This sentence does not start with an uppercase letter.
preprint link https://ui.adsabs.harvard.edu/abs/2021arXiv210808125C
Arteaga
Possible spelling mistake found.
Javier Cabrera- Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Preprint version
preprint
This sentence does not start with an uppercase letter.
preprint link https://ui.adsabs.harvard.edu/abs/2021arXiv210808125C
Arteaga
Possible spelling mistake found.
Javier Cabrera- Arteaga, Pierre Laperdrix, Martin Monperrus, Benoit Baudry Preprint version
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.1145/3358504. 3361228
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.1145/3358504. 3361228
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.1145/3358504. 3361228
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.1145/3358504. 3361228
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.1145/3358504. 3361228
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)
https
This sentence does not start with an uppercase letter.
https: //doi.org/10.1145/3358504. 3361228
Cabrera-Arteaga
Possible spelling mistake found.
Javier Cabrera-Arteaga, Martin Monperrus, Benoit Baudry 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (SPLASH 2019)